<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Win32k: ntstubs.c 源文件</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Win32k
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a03611_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">client/ntstubs.c</div>  </div>
</div><!--header-->
<div class="contents">
<a href="a03611.html">浏览该文件的文档.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a03620.html">precomp.h</a>&quot;</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="preprocessor">#pragma hdrstop</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160; </div>
<div class="line"><a name="l00015"></a><span class="lineno"><a class="line" href="a03611.html#a212a23092127ddd84cb3bb5f0e5b230d">   15</a></span>&#160;<span class="preprocessor">#define CLIENTSIDE 1</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160; </div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="a00359.html">ntsend.h</a>&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160; </div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;WINUSERAPI</div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;BOOL</div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;WINAPI</div>
<div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="a03611.html#a446430ee61b1f45901b57c647589ba37">   23</a></span>&#160;<a class="code" href="a03611.html#a446430ee61b1f45901b57c647589ba37">SetSysColors</a>(</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;    <span class="keywordtype">int</span> cElements,</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;    CONST <a class="code" href="a00953.html#a392e62da233ed3e2f7c3fd4f487a3896">INT</a> * lpaElements,</div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;    CONST COLORREF * lpaRgbValues)</div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;{</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="a00362.html#a807eee6c1f5bdcb82d46e7aa29f9b9a8">NtUserSetSysColors</a>(cElements,</div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;                              lpaElements,</div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;                              lpaRgbValues,</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;                              SSCF_NOTIFY | SSCF_FORCESOLIDCOLOR | SSCF_SETMAGICCOLORS);</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;}</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160; </div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="a03611.html#a8391278e2e3d2d35d7651ece95415a14">   36</a></span>&#160;HWND <a class="code" href="a03611.html#a8391278e2e3d2d35d7651ece95415a14">WOWFindWindow</a>(</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    LPCSTR pClassName,</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    LPCSTR pWindowName)</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;{</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a> strClassName;</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a> strWindowName;</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment">     * Make sure cleanup will work successfully</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    strClassName.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    strWindowName.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160; </div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160; </div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;        <a class="code" href="a00359.html#a3431cd5eaf862a002c848fde14535434">FIRSTCOPYLPSTRIDOPTW</a>(&amp;strClassName, pClassName);</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;        <a class="code" href="a00359.html#a09dcc56c95999f42873a15a2c33dd08d">COPYLPSTROPTW</a>(&amp;strWindowName, pWindowName);</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a7b4eeea8ff48cbe225b5b710c96ba22c">NtUserWOWFindWindow</a>(</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;                strClassName.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>,</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;                strWindowName.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>);</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <a class="code" href="a00359.html#ae80cae7750cd1854ec0f9cfa717e7cd6">CLEANUPLPSTRW</a>(strClassName);</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <a class="code" href="a00359.html#ae80cae7750cd1854ec0f9cfa717e7cd6">CLEANUPLPSTRW</a>(strWindowName);</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(HWND);</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;}</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160; </div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="a03611.html#a71e11894f6d1fa8105e856ece6ed0da5">   65</a></span>&#160;BOOL <a class="code" href="a03611.html#a71e11894f6d1fa8105e856ece6ed0da5">UpdatePerUserSystemParameters</a>(</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    BOOL bUserLoggedOn)</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;{</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    WCHAR pwszKLID[KL_NAMELENGTH];</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160; </div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160; </div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;<span class="comment">         * Cause the wallpaper to be changed.</span></div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, 0, 0);</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160; </div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;<span class="preprocessor">#ifdef FE_IME</span></div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;<span class="comment">         * Initialize IME hotkeys before loading keyboard</span></div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="comment">         * layouts.</span></div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <a class="code" href="a00290.html#a57534b163256da047704429045116132">ImmInitializeHotKeys</a>( bUserLoggedOn );</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="comment">         * Load initial keyboard layout.</span></div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        <a class="code" href="a00026.html#afeedc7ce2c7778f420d0357f1ef24e6e">GetActiveKeyboardName</a>(pwszKLID);</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        <a class="code" href="a00026.html#a65777ad273ebbc9f15685157f4634b3e">LoadKeyboardLayoutW</a>(pwszKLID, KLF_ACTIVATE | KLF_RESET | KLF_SUBSTITUTE_OK);</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;<span class="comment">         * Now load the remaining preload keyboard layouts.</span></div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        <a class="code" href="a00026.html#a18b9b48b567ab5010e350cbab8fa27ca">LoadPreloadKeyboardLayouts</a>();</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160; </div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#af13d9d19bd3a37326aac0aec42d8ed0b">NtUserUpdatePerUserSystemParameters</a>(bUserLoggedOn);</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;}</div>
<div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160; </div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="a00257.html#a2a45151bf23fa8ad0e2348b5f5b1ea79">  101</a></span>&#160;<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> <a class="code" href="a03611.html#a2a45151bf23fa8ad0e2348b5f5b1ea79">Event</a>(</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;    <a class="code" href="a02489.html">PEVENT_PACKET</a> <a class="code" href="a00677.html#aca74961d0036b8ae855be8a9234df247">pep</a>)</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;{</div>
<div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160; </div>
<div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;        <a class="code" href="a00086.html#af4a5ecbacfdd6845c5c37342f333ace4">CheckDDECritOut</a>;</div>
<div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160; </div>
<div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a7633ea4457dac1e80327ab6b6ea7ca36">NtUserEvent</a>(</div>
<div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;                <a class="code" href="a00677.html#aca74961d0036b8ae855be8a9234df247">pep</a>);</div>
<div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;}</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; </div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="a00257.html#ab82910c4539db8debc07209b4b83d38f">  115</a></span>&#160;BOOL <a class="code" href="a03611.html#ab82910c4539db8debc07209b4b83d38f">FillWindow</a>(</div>
<div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    HWND hwndBrush,</div>
<div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;    HWND hwndPaint,</div>
<div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    HDC hdc,</div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    HBRUSH hbr)</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;{</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    FIXUP_HANDLE(hdc);</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="keywordflow">if</span> (hdc == NULL)</div>
<div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160; </div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a178ae65d3da5e0725463ee5bd67f5347">NtUserFillWindow</a>(</div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;                hwndBrush,</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;                hwndPaint,</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;                hdc,</div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;                hbr);</div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;}</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160; </div>
<div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="a03611.html#a3ff236c77d352edb059ac5077ecbf9bb">  138</a></span>&#160;LONG <a class="code" href="a03611.html#a3ff236c77d352edb059ac5077ecbf9bb">GetClassWOWWords</a>(</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    HINSTANCE hInstance,</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    LPCTSTR pString)</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;{</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a> strClassName;</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <a class="code" href="a02569.html">PCLS</a> pcls;</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160; </div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="comment">     * Make sure cleanup will work successfully</span></div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    strClassName.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160; </div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        <a class="code" href="a00359.html#a790070c3881a7af9750daf773de8c6dd">FIRSTCOPYLPSTRW</a>(&amp;strClassName, pString);</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160; </div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        pcls = <a class="code" href="a00362.html#a8664700fb3619f5ac552f2e687df4f42">NtUserGetWOWClass</a>(hInstance, strClassName.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>);</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        <span class="keywordflow">if</span> (pcls == NULL) {</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;            <a class="code" href="a00065.html#aeee0871f514f08f450cad7efbcd9f387">MSGERRORCODE</a>(ERROR_CLASS_DOES_NOT_EXIST);</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        }</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160; </div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        pcls = (<a class="code" href="a00365.html#a147bfb6d38764fd5ccf6f45225cb56e6">PCLS</a>)((PBYTE)pcls - GetClientInfo()-&gt;ulClientDelta);</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        retval = <a class="code" href="a00011.html#a87e3aa8d367f5db5978419a8217275d0">_GetClassData</a>(pcls, NULL, GCL_WOWWORDS, TRUE);</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160; </div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    <a class="code" href="a00359.html#ae80cae7750cd1854ec0f9cfa717e7cd6">CLEANUPLPSTRW</a>(strClassName);</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(LONG);</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;}</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160; </div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160; </div>
<div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="a03611.html#a387282161de07eb8f101949bd4977039">  178</a></span>&#160;BOOL <a class="code" href="a03611.html#a387282161de07eb8f101949bd4977039">InitTask</a>(</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wVersion,</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    LPCSTR pszAppName,</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> hTaskWow,</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwHotkey,</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> idTask,</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwX,</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwY,</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwXSize,</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwYSize,</div>
<div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    WORD wShowWindow)</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;{</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a> strAppName;</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;    NTSTATUS Status;</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;<span class="comment">     * Make sure cleanup will work successfully</span></div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    strAppName.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160; </div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160; </div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;        <a class="code" href="a00359.html#a790070c3881a7af9750daf773de8c6dd">FIRSTCOPYLPSTRW</a>(&amp;strAppName, pszAppName);</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        Status = <a class="code" href="a00362.html#a8d41a3436e0cf1cca59496323d8d75d6">NtUserInitTask</a>(</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;                wVersion,</div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;                strAppName.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>,</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;                hTaskWow,</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;                dwHotkey,</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;                idTask,</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;                dwX,</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;                dwY,</div>
<div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;                dwXSize,</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;                dwYSize,</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;                wShowWindow);</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;        retval = (Status == STATUS_SUCCESS);</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <a class="code" href="a00359.html#ae80cae7750cd1854ec0f9cfa717e7cd6">CLEANUPLPSTRW</a>(strAppName);</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160; </div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(FALSE);</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;}</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="a00257.html#aca9851e396f6a523315f8b53f4ba21a2">  219</a></span>&#160;HANDLE <a class="code" href="a03611.html#aac62c266c9bae1d384846a7f7182a4ec">ConvertMemHandle</a>(</div>
<div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    HANDLE hData,</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> cbNULL)</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;{</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> cbData;</div>
<div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    LPBYTE lpData;</div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160; </div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160; </div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;        <span class="keywordflow">if</span> (GlobalFlags(hData) == GMEM_INVALID_HANDLE) {</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;            <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;ConvertMemHandle hMem is not valid\n&quot;</span>);</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;            <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;            }</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160; </div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;        <span class="keywordflow">if</span> (!(cbData = GlobalSize(hData)))</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;            <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160; </div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;        USERGLOBALLOCK(hData, lpData);</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        <span class="keywordflow">if</span> (lpData == NULL) {</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;            <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;        }</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160; </div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;<span class="comment">         * Make sure text formats are NULL terminated.</span></div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        <span class="keywordflow">switch</span> (cbNULL) {</div>
<div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;        <span class="keywordflow">case</span> 2:</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;            lpData[cbData - 2] = 0;</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;            <span class="comment">// FALL THROUGH</span></div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;        <span class="keywordflow">case</span> 1:</div>
<div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;            lpData[cbData - 1] = 0;</div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;        }</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160; </div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#aa20a962f90b767836867a3227eefe559">NtUserConvertMemHandle</a>(lpData, cbData);</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160; </div>
<div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;        USERGLOBALUNLOCK(hData);</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160; </div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(NULL);</div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(HANDLE);</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;}</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160; </div>
<div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="a00257.html#aab0cc30f737042cd8237de7cddea6557">  260</a></span>&#160;HANDLE <a class="code" href="a03611.html#aab0cc30f737042cd8237de7cddea6557">CreateLocalMemHandle</a>(</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    HANDLE hMem)</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;{</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> cbData;</div>
<div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;    NTSTATUS Status;</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160; </div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160; </div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;        Status = <a class="code" href="a00362.html#a8c75bd9b68bedf02a25b8d9305c746d3">NtUserCreateLocalMemHandle</a>(hMem, NULL, 0, &amp;cbData);</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;        <span class="keywordflow">if</span> (Status != STATUS_BUFFER_TOO_SMALL) {</div>
<div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;            <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;__CreateLocalMemHandle server returned failure\n&quot;</span>);</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;            <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;        }</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160; </div>
<div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;        <span class="keywordflow">if</span> (!(retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)GlobalAlloc(GMEM_FIXED, cbData)))</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;            <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160; </div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;        Status = <a class="code" href="a00362.html#a8c75bd9b68bedf02a25b8d9305c746d3">NtUserCreateLocalMemHandle</a>(hMem, (LPBYTE)retval, cbData, NULL);</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        <span class="keywordflow">if</span> (!NT_SUCCESS(Status)) {</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;            <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;__CreateLocalMemHandle server returned failure\n&quot;</span>);</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;            UserGlobalFree((HANDLE)retval);</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;            <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        }</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160; </div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(HANDLE);</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;}</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160; </div>
<div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="a00257.html#a362385ba8a36ad5292508d7b46c5abfe">  288</a></span>&#160;HHOOK <a class="code" href="a03611.html#a362385ba8a36ad5292508d7b46c5abfe">_SetWindowsHookEx</a>(</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;    HANDLE hmod,</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;    LPTSTR pszLib,</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> idThread,</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    <span class="keywordtype">int</span> nFilterType,</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    PROC pfnFilterProc,</div>
<div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    BOOL bAnsi)</div>
<div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;{</div>
<div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a> strLib;</div>
<div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160; </div>
<div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;<span class="comment">     * Make sure cleanup will work successfully</span></div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    strLib.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160; </div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;        <a class="code" href="a00359.html#a3831a9eac5010f7a6a5465223f08b6f8">FIRSTCOPYLPWSTROPT</a>(&amp;strLib, pszLib);</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160; </div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a7dde70b4cb3b6982f1da62b0c98a35c7">NtUserSetWindowsHookEx</a>(</div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;                hmod,</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;                strLib.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>,</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;                idThread,</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;                nFilterType,</div>
<div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;                pfnFilterProc,</div>
<div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;                bAnsi);</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160; </div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    <a class="code" href="a00359.html#a1cd8eaaec48c11cb1d5a0f629c9621bf">CLEANUPLPWSTR</a>(strLib);</div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(HHOOK);</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;}</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160; </div>
<div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="a00257.html#a8b58fe29a030c9cc63eb492d8fa8e3a2">  320</a></span>&#160;HACCEL <a class="code" href="a03611.html#ad0c07c81996a40447c06125e734745f0">_CreateAcceleratorTable</a>(</div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    LPACCEL paccel,</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    <a class="code" href="a00953.html#a392e62da233ed3e2f7c3fd4f487a3896">INT</a> cbElem,</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;    <a class="code" href="a00953.html#a392e62da233ed3e2f7c3fd4f487a3896">INT</a> nElem)</div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;{</div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    LPACCEL p = NULL, paccelT;</div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> cbAccel = <span class="keyword">sizeof</span>(ACCEL) * nElem;</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160; </div>
<div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160; </div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;        <span class="keywordflow">if</span> (cbElem != <span class="keyword">sizeof</span>(ACCEL)) {</div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;<span class="comment">             * If the accelerator table is coming from a resource, each</span></div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;<span class="comment">             * element has an extra WORD of padding which we strip here</span></div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;<span class="comment">             * to conform with the public (and internal) ACCEL structure.</span></div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;            p = paccelT = UserLocalAlloc(0, <span class="keyword">sizeof</span>(ACCEL) * nElem);</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;            <span class="keywordflow">while</span> (nElem-- &gt; 0) {</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;                *paccelT++ = *paccel;</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;                paccel = (LPACCEL)(((PBYTE)paccel) + cbElem);</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;            }</div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;            paccel = p;</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;        }</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160; </div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a9721ddbcac92beaec02122d200d6b964">NtUserCreateAcceleratorTable</a>(</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;                paccel, cbAccel);</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160; </div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;        <span class="keywordflow">if</span> (p)</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;            UserLocalFree(p);</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160; </div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(HACCEL);</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;}</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160; </div>
<div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="a03611.html#a6070b5fbb565045cdb9251e4276a4f93">  354</a></span>&#160;BOOL <a class="code" href="a03611.html#a6070b5fbb565045cdb9251e4276a4f93">GetWindowPlacement</a>(</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    PWINDOWPLACEMENT pwp)</div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;{</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;<span class="preprocessor">#ifdef LATER</span></div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <span class="keywordflow">if</span> (pwp-&gt;length != <span class="keyword">sizeof</span>(WINDOWPLACEMENT)) {</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;        <span class="keywordflow">if</span> (Is400Compat(<a class="code" href="a00257.html#a8315d2c807ba18ba9e528c40614b6173">PtiCurrent</a>()-&gt;dwExpWinVer)) {</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;            <a class="code" href="a00371.html#adbdd8355d15a97b6f3a9e4766e6a2cc1">RIPERR1</a>(ERROR_INVALID_PARAMETER, <a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;GetWindowPlacement: invalid length %lX&quot;</span>, pwp-&gt;length);</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;            <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00363"></a><span class="lineno">  363</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;            <a class="code" href="a00371.html#a31aafffb49dfe98bdc749c9b35c90162">RIPMSG1</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;GetWindowPlacement: invalid length %lX&quot;</span>, pwp-&gt;length);</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;            pwp-&gt;length = <span class="keyword">sizeof</span>(WINDOWPLACEMENT);</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;        }</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    }</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160; </div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160; </div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#af3865da604777de45364ffe5651aa797">NtUserGetWindowPlacement</a>(</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;                hwnd,</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;                pwp);</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160; </div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00377"></a><span class="lineno">  377</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;}</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160; </div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;<span class="preprocessor">#ifdef MEMPHIS_MENUS</span></div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;BOOL <a class="code" href="a03611.html#af3243966cd11b44231f8efbcd2b6e2c1">ThunkedMenuItemInfo</a>(</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;    HMENU hMenu,</div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> nPosition,</div>
<div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;    BOOL fByPosition,</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    BOOL fInsert,</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;    LPMENUITEMINFOW lpmii,</div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    BOOL fAnsi)</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;{</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    MENUITEMINFOW mii;</div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a> strItem;</div>
<div class="line"><a name="l00391"></a><span class="lineno">  391</span>&#160; </div>
<div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;<span class="comment">     * Make sure cleanup will work successfully</span></div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;    strItem.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160; </div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160; </div>
<div class="line"><a name="l00399"></a><span class="lineno">  399</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;<span class="comment">         *  Make a local copy so we can make changes</span></div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;        mii = *(LPMENUITEMINFO)(lpmii);</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160; </div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;        strItem.pstr = NULL;</div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;        if (mii.fMask &amp; MIIM_BITMAP) {</div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;            <span class="keywordflow">if</span> (LOWORD(mii.hbmpItem) &lt; MENUHBM_MAX &amp;&amp; HIWORD(mii.hbmpItem)) {</div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;                <span class="comment">/*</span></div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;<span class="comment">                 *  Looks like the user was trying to insert one of the</span></div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;<span class="comment">                 *  MENUHBM_* bitmaps, but stuffed some data in the HIWORD.</span></div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<span class="comment">                 *  We know the HIWORD data is invalid because the LOWORD</span></div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;<span class="comment">                  *  handle is below the GDI minimum.</span></div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;<span class="comment">                 */</span></div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;                <a class="code" href="a00371.html#a31aafffb49dfe98bdc749c9b35c90162">RIPMSG1</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;Invalid HIWORD data (0x%04X) for MENUHBM_* bitmap.&quot;</span>, HIWORD(mii.hbmpItem));</div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;                mii.hbmpItem = (HBITMAP)LOWORD(mii.hbmpItem);</div>
<div class="line"><a name="l00415"></a><span class="lineno">  415</span>&#160;            }</div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;        }</div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160; </div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;        <span class="keywordflow">if</span> (mii.fMask &amp; MIIM_STRING){</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;            <span class="keywordflow">if</span> (fAnsi) {</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;                <a class="code" href="a00359.html#a9e4402bad5d48ea5725b8748a3be3350">FIRSTCOPYLPSTROPTW</a>(&amp;strItem, mii.dwTypeData);</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00422"></a><span class="lineno">  422</span>&#160;                <a class="code" href="a00359.html#a3831a9eac5010f7a6a5465223f08b6f8">FIRSTCOPYLPWSTROPT</a>(&amp;strItem, mii.dwTypeData);</div>
<div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;            }</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;        }</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160; </div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#add324e0feabb71c0b2e45616f801490a">NtUserThunkedMenuItemInfo</a>(</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;                hMenu,</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;                nPosition,</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;                fByPosition,</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;                fInsert,</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;                &amp;mii,</div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;                strItem.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>,</div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;                fAnsi);</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160; </div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00436"></a><span class="lineno">  436</span>&#160;    <a class="code" href="a00359.html#ae80cae7750cd1854ec0f9cfa717e7cd6">CLEANUPLPSTRW</a>(strItem);</div>
<div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;}</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<span class="preprocessor">#else // MEMPHIS_MENUS</span></div>
<div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="a03611.html#af3243966cd11b44231f8efbcd2b6e2c1">  440</a></span>&#160;BOOL <a class="code" href="a03611.html#af3243966cd11b44231f8efbcd2b6e2c1">ThunkedMenuItemInfo</a>(</div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;    HMENU hMenu,</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> nPosition,</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;    BOOL fByPosition,</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160;    BOOL fInsert,</div>
<div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;    LPMENUITEMINFOW lpmii,</div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    BOOL fAnsi)</div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;{</div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;    MENUITEMINFOW mii;</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a> strItem;</div>
<div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160; </div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;<span class="comment">     * Make sure cleanup will work successfully</span></div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;    strItem.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160; </div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160; </div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00459"></a><span class="lineno">  459</span>&#160;<span class="comment">         *  Make a local copy so we can make changes</span></div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;        mii = *(LPMENUITEMINFO)(lpmii);</div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160; </div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;        strItem.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a> = NULL;</div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;        <span class="keywordflow">if</span> (mii.fMask &amp; MIIM_TYPE) {</div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;            <span class="keywordflow">if</span> (mii.fType &amp; MFT_BITMAP) {</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;                <span class="keywordflow">if</span> (LOWORD(mii.dwTypeData) &lt; MENUHBM_MAX &amp;&amp; HIWORD(mii.dwTypeData)) {</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;                    <span class="comment">/*</span></div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;<span class="comment">                     *  Looks like the user was trying to insert one of the</span></div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;<span class="comment">                     *  MENUHBM_* bitmaps, but stuffed some data in the HIWORD.</span></div>
<div class="line"><a name="l00470"></a><span class="lineno">  470</span>&#160;<span class="comment">                     *  We know the HIWORD data is invalid because the LOWORD</span></div>
<div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;<span class="comment">                     *  handle is below the GDI minimum.</span></div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;<span class="comment">                     */</span></div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;                    <a class="code" href="a00371.html#a31aafffb49dfe98bdc749c9b35c90162">RIPMSG1</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;Invalid HIWORD data (0x%04X) for MENUHBM_* bitmap.&quot;</span>, HIWORD(mii.dwTypeData));</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;                    mii.dwTypeData = (LPWSTR)LOWORD(mii.dwTypeData);</div>
<div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;                }</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;            } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((mii.fType &amp; MFT_NONSTRING)==0){</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;                <span class="keywordflow">if</span> (fAnsi) {</div>
<div class="line"><a name="l00478"></a><span class="lineno">  478</span>&#160;                    <a class="code" href="a00359.html#a9e4402bad5d48ea5725b8748a3be3350">FIRSTCOPYLPSTROPTW</a>(&amp;strItem, mii.dwTypeData);</div>
<div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;                } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;                    <a class="code" href="a00359.html#a3831a9eac5010f7a6a5465223f08b6f8">FIRSTCOPYLPWSTROPT</a>(&amp;strItem, mii.dwTypeData);</div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;                }</div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;            }</div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        }</div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160; </div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#add324e0feabb71c0b2e45616f801490a">NtUserThunkedMenuItemInfo</a>(</div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;                hMenu,</div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;                nPosition,</div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;                fByPosition,</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;                fInsert,</div>
<div class="line"><a name="l00490"></a><span class="lineno">  490</span>&#160;                &amp;mii,</div>
<div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;                strItem.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>,</div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;                fAnsi);</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160; </div>
<div class="line"><a name="l00494"></a><span class="lineno">  494</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    <a class="code" href="a00359.html#ae80cae7750cd1854ec0f9cfa717e7cd6">CLEANUPLPSTRW</a>(strItem);</div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;}</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;<span class="preprocessor">#endif // MEMPHIS_MENUS</span></div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160; </div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;<span class="preprocessor">#ifdef MEMPHIS_MENU_WATERMARKS</span></div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;BOOL ThunkedMenuInfo(</div>
<div class="line"><a name="l00502"></a><span class="lineno">  502</span>&#160;    HMENU hMenu,</div>
<div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;    LPCMENUINFO lpmi,</div>
<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;    WORD wAPICode,</div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;    BOOL fAnsi)</div>
<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;{</div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="a00257.html#a13354e013c46028ae8ddca8e44eef758">ValidateMENUINFO</a>(lpmi,wAPICode)) {</div>
<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;        <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;    }</div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160; </div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160; </div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)NtUserThunkedMenuInfo(</div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;                hMenu,</div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;                lpmi,</div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;                wAPICode,</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;                fAnsi);</div>
<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160; </div>
<div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;}</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;<span class="preprocessor">#endif // MEMPHIS_MENU_WATERMARKS</span></div>
<div class="line"><a name="l00523"></a><span class="lineno"><a class="line" href="a03611.html#a96486a50ad3a60d9caa22928d14f7b74">  523</a></span>&#160;BOOL <a class="code" href="a03611.html#a96486a50ad3a60d9caa22928d14f7b74">DrawCaption</a>(</div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;    HDC hdc,</div>
<div class="line"><a name="l00526"></a><span class="lineno">  526</span>&#160;    CONST RECT *lprc,</div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> flags)</div>
<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;{</div>
<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;    HDC hdcr;</div>
<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160; </div>
<div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="a03218.html#aa4a3b004dd5a64b5e7d718f525a86db6">IsMetaFile</a>(hdc))</div>
<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;            <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160; </div>
<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;        hdcr = GdiConvertAndCheckDC(hdc);</div>
<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;        <span class="keywordflow">if</span> (hdcr == (HDC)0)</div>
<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;            <span class="keywordflow">return</span> FALSE;</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160; </div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#af4bb6c1c0c536baadaa3842688b6c486">NtUserDrawCaption</a>(hwnd, hdcr, lprc, flags);</div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160; </div>
<div class="line"><a name="l00541"></a><span class="lineno">  541</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;}</div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160; </div>
<div class="line"><a name="l00545"></a><span class="lineno"><a class="line" href="a03611.html#adb01468dcc03a2060142698064c6b45a">  545</a></span>&#160;BOOL <a class="code" href="a03611.html#adb01468dcc03a2060142698064c6b45a">PaintDesktop</a>(</div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;    HDC hdc)</div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;{</div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160; </div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;        FIXUP_HANDLE(hdc);</div>
<div class="line"><a name="l00551"></a><span class="lineno">  551</span>&#160; </div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a09a15998194ac21c332cf1ee26144e62">NtUserPaintDesktop</a>(</div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;                hdc);</div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160; </div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;}</div>
<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160; </div>
<div class="line"><a name="l00559"></a><span class="lineno"><a class="line" href="a03611.html#abc9707ed65f61cfba32fcf9dcbdb6bb9">  559</a></span>&#160;SHORT <a class="code" href="a03611.html#abc9707ed65f61cfba32fcf9dcbdb6bb9">GetAsyncKeyState</a>(</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;    <span class="keywordtype">int</span> vKey)</div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;{</div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;    <a class="code" href="a00359.html#a6c04537cb53d1ecc2c695f9f9406d848">BEGINCALLCONNECT</a>()</div>
<div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160; </div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;<span class="comment">         * If this is one of the common keys, see if we can pull it out</span></div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<span class="comment">         * of the cache.</span></div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;        <span class="keywordflow">if</span> ((<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)vKey &lt; CVKASYNCKEYCACHE) {</div>
<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;            <a class="code" href="a02477.html">PCLIENTINFO</a> pci = GetClientInfo();</div>
<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;            <span class="keywordflow">if</span> ((pci-&gt;<a class="code" href="a02477.html#af022f477dc1c3ff919fb27200fadcbca">dwAsyncKeyCache</a> == <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#af022f477dc1c3ff919fb27200fadcbca">dwAsyncKeyCache</a>) &amp;&amp;</div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;                !TestKeyRecentDownBit(pci-&gt;<a class="code" href="a02477.html#afa3b241414302ef535a64eccfcda0aaa">afAsyncKeyStateRecentDown</a>, vKey)) {</div>
<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160; </div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160;                <span class="keywordflow">if</span> (TestKeyDownBit(pci-&gt;<a class="code" href="a02477.html#a53ba59792bf01755b94c8c7189c08b26">afAsyncKeyState</a>, vKey))</div>
<div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;                    retval = 0x8000;</div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;                <span class="keywordflow">else</span></div>
<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;                    retval = 0;</div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160; </div>
<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;                <span class="keywordflow">return</span> (SHORT)retval;</div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;            }</div>
<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;        }</div>
<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160; </div>
<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a9ce6d1371b17104ac26b7c59361ac5d8">NtUserGetAsyncKeyState</a>(</div>
<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;                vKey);</div>
<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160; </div>
<div class="line"><a name="l00585"></a><span class="lineno">  585</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(SHORT);</div>
<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;}</div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160; </div>
<div class="line"><a name="l00589"></a><span class="lineno"><a class="line" href="a03611.html#a02faeb6792094207ff4900c5b480dab2">  589</a></span>&#160;SHORT <a class="code" href="a03611.html#a02faeb6792094207ff4900c5b480dab2">GetKeyState</a>(</div>
<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;    <span class="keywordtype">int</span> vKey)</div>
<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;{</div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;    <a class="code" href="a00359.html#a6c04537cb53d1ecc2c695f9f9406d848">BEGINCALLCONNECT</a>()</div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160; </div>
<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;<span class="comment">         * If this is one of the common keys, see if we can pull it out</span></div>
<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;<span class="comment">         * of the cache.</span></div>
<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;        <span class="keywordflow">if</span> ((<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)vKey &lt; CVKKEYCACHE) {</div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;            <a class="code" href="a02477.html">PCLIENTINFO</a> pci = GetClientInfo();</div>
<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;            <span class="keywordflow">if</span> (pci-&gt;<a class="code" href="a02477.html#a125933441b95aca04386827b052dfe42">dwKeyCache</a> == <a class="code" href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a>-&gt;<a class="code" href="a02513.html#a125933441b95aca04386827b052dfe42">dwKeyCache</a>) {</div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;                retval = 0;</div>
<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;                <span class="keywordflow">if</span> (TestKeyToggleBit(pci-&gt;<a class="code" href="a02477.html#a8ffaac83d131a1995aede8f5617f8cda">afKeyState</a>, vKey))</div>
<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;                    retval |= 0x0001;</div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;                <span class="keywordflow">if</span> (TestKeyDownBit(pci-&gt;<a class="code" href="a02477.html#a8ffaac83d131a1995aede8f5617f8cda">afKeyState</a>, vKey)) {</div>
<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;                  <span class="comment">/*</span></div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;<span class="comment">                   * Used to be retval |= 0x8000.Fix for bug 28820; Ctrl-Enter</span></div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;<span class="comment">                   * accelerator doesn&#39;t work on Nestscape Navigator Mail 2.0</span></div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;<span class="comment">                   */</span></div>
<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;                    retval |= 0xff80;  <span class="comment">// This is what 3.1 returned!!!!</span></div>
<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;                }</div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160; </div>
<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;                <span class="keywordflow">return</span> (SHORT)retval;</div>
<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;            }</div>
<div class="line"><a name="l00614"></a><span class="lineno">  614</span>&#160;        }</div>
<div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160; </div>
<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a2623a859f0865b2538bd8c0fa5956871">NtUserGetKeyState</a>(</div>
<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;                vKey);</div>
<div class="line"><a name="l00618"></a><span class="lineno">  618</span>&#160; </div>
<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(SHORT);</div>
<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;}</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160; </div>
<div class="line"><a name="l00623"></a><span class="lineno"><a class="line" href="a00257.html#adccbe0a4e456bc7a91fcf34092672f21">  623</a></span>&#160;HBRUSH <a class="code" href="a03611.html#adccbe0a4e456bc7a91fcf34092672f21">GetControlBrush</a>(</div>
<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;    HDC hdc,</div>
<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> msg)</div>
<div class="line"><a name="l00627"></a><span class="lineno">  627</span>&#160;{</div>
<div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160; </div>
<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;        FIXUP_HANDLE(hdc);</div>
<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160; </div>
<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;        <span class="keywordflow">if</span> (hdc == (HDC)0)</div>
<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;            <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160; </div>
<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#acd05faebf32fa61540d9fbfc56aadb26">NtUserGetControlBrush</a>(hwnd, hdc, msg);</div>
<div class="line"><a name="l00636"></a><span class="lineno">  636</span>&#160; </div>
<div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(HBRUSH);</div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;}</div>
<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160; </div>
<div class="line"><a name="l00641"></a><span class="lineno"><a class="line" href="a00257.html#abfc832913f8578ba8a06e1c97b32eac0">  641</a></span>&#160;HBRUSH <a class="code" href="a03611.html#abfc832913f8578ba8a06e1c97b32eac0">GetControlColor</a>(</div>
<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;    HWND hwndParent,</div>
<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;    HWND hwndCtl,</div>
<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;    HDC hdc,</div>
<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> msg)</div>
<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;{</div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160; </div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;        FIXUP_HANDLE(hdc);</div>
<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160; </div>
<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a5cce676f0ca55ff02d12ab0cf7da8628">NtUserGetControlColor</a>(</div>
<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;                hwndParent,</div>
<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;                hwndCtl,</div>
<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;                hdc,</div>
<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;                msg);</div>
<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160; </div>
<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(HBRUSH);</div>
<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;}</div>
<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160; </div>
<div class="line"><a name="l00661"></a><span class="lineno"><a class="line" href="a03611.html#a515df4c95758f452c5d97dfaa446f842">  661</a></span>&#160;BOOL <a class="code" href="a03611.html#a515df4c95758f452c5d97dfaa446f842">OpenClipboard</a>(</div>
<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;    HWND hwnd)</div>
<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;{</div>
<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;    BOOL fEmptyClient;</div>
<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160; </div>
<div class="line"><a name="l00666"></a><span class="lineno">  666</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160; </div>
<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#ac60bac744896629961d4d834d0ea76c3">NtUserOpenClipboard</a>(hwnd, &amp;fEmptyClient);</div>
<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160; </div>
<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;        <span class="keywordflow">if</span> (fEmptyClient)</div>
<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;            <a class="code" href="a00026.html#a419502c690ecadea2ef606382c5cd028">ClientEmptyClipboard</a>();</div>
<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160; </div>
<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;}</div>
<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160; </div>
<div class="line"><a name="l00677"></a><span class="lineno"><a class="line" href="a03611.html#a08137d4f288cd063795d1ac36f55d1bb">  677</a></span>&#160;<span class="keyword">static</span> HKL  <a class="code" href="a03611.html#a08137d4f288cd063795d1ac36f55d1bb">hPMCachedHKL</a> = 0;</div>
<div class="line"><a name="l00678"></a><span class="lineno"><a class="line" href="a03611.html#af21419db1bb21003eed93ee591c44c5d">  678</a></span>&#160;<span class="keyword">static</span> <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> <a class="code" href="a03611.html#af21419db1bb21003eed93ee591c44c5d">uPMCachedCP</a>  = 0;</div>
<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160; </div>
<div class="line"><a name="l00680"></a><span class="lineno"><a class="line" href="a00257.html#a1e05bb7bd2b59bc054e33275a8939907">  680</a></span>&#160;BOOL <a class="code" href="a03611.html#a1e05bb7bd2b59bc054e33275a8939907">_PeekMessage</a>(</div>
<div class="line"><a name="l00681"></a><span class="lineno">  681</span>&#160;    LPMSG pmsg,</div>
<div class="line"><a name="l00682"></a><span class="lineno">  682</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wMsgFilterMin,</div>
<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wMsgFilterMax,</div>
<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wRemoveMsg,</div>
<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;    BOOL bAnsi)</div>
<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;{</div>
<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;    HKL hkl;</div>
<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwAnsi;</div>
<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160; </div>
<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160; </div>
<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160;<span class="preprocessor">#ifdef FE_SB // _PeekMessage()</span></div>
<div class="line"><a name="l00694"></a><span class="lineno">  694</span>&#160;        <span class="keywordflow">if</span> (bAnsi) {</div>
<div class="line"><a name="l00695"></a><span class="lineno">  695</span>&#160;            <span class="comment">//</span></div>
<div class="line"><a name="l00696"></a><span class="lineno">  696</span>&#160;            <span class="comment">// If we have pushed message for DBCS messaging, we should pass this one</span></div>
<div class="line"><a name="l00697"></a><span class="lineno">  697</span>&#160;            <span class="comment">// to Apps at first...</span></div>
<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;            <span class="comment">//</span></div>
<div class="line"><a name="l00699"></a><span class="lineno">  699</span>&#160;            GET_DBCS_MESSAGE_IF_EXIST(PeekMessage,pmsg,wMsgFilterMin,wMsgFilterMax);</div>
<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;        }</div>
<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;<span class="preprocessor">#endif // FE_SB</span></div>
<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160; </div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#af174611402453de2240a9d9cf8af91f5">NtUserPeekMessage</a>(</div>
<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;                pmsg,</div>
<div class="line"><a name="l00705"></a><span class="lineno">  705</span>&#160;                hwnd,</div>
<div class="line"><a name="l00706"></a><span class="lineno">  706</span>&#160;                wMsgFilterMin,</div>
<div class="line"><a name="l00707"></a><span class="lineno">  707</span>&#160;                wMsgFilterMax,</div>
<div class="line"><a name="l00708"></a><span class="lineno">  708</span>&#160;                wRemoveMsg,</div>
<div class="line"><a name="l00709"></a><span class="lineno">  709</span>&#160;                &amp;hkl);</div>
<div class="line"><a name="l00710"></a><span class="lineno">  710</span>&#160; </div>
<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;        <span class="keywordflow">if</span> (retval) {</div>
<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;            <span class="comment">// May have a bit more work to do if this MSG is for an ANSI app</span></div>
<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160; </div>
<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;            <span class="comment">// !!! LATER if the unichar translates into multiple ANSI chars</span></div>
<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;            <span class="comment">// !!! then what??? Send two messages??  WM_SYSDEADCHAR??</span></div>
<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;            <span class="keywordflow">if</span> (bAnsi) {</div>
<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;<span class="preprocessor">#ifdef FE_IME // _PeekMessage()</span></div>
<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;               <span class="keywordflow">if</span> ((pmsg-&gt;message == WM_CHAR)     || (pmsg-&gt;message == WM_DEADCHAR) ||</div>
<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;                   (pmsg-&gt;message == WM_IME_CHAR) || (pmsg-&gt;message == WM_IME_COMPOSITION)) {</div>
<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;               <span class="keywordflow">if</span> ((pmsg-&gt;message == WM_CHAR) || (pmsg-&gt;message == WM_DEADCHAR)) {</div>
<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;<span class="preprocessor">#endif // FE_IME</span></div>
<div class="line"><a name="l00723"></a><span class="lineno">  723</span>&#160;                   <span class="comment">// We need to do per-thread translation on WM_CHAR &amp; WM_DEADCHAR</span></div>
<div class="line"><a name="l00724"></a><span class="lineno">  724</span>&#160;                   <span class="comment">// messages in order to suppport Win95 multilingual functionality.</span></div>
<div class="line"><a name="l00725"></a><span class="lineno">  725</span>&#160;                   <span class="keywordflow">if</span> (hkl != <a class="code" href="a03611.html#a08137d4f288cd063795d1ac36f55d1bb">hPMCachedHKL</a>) {</div>
<div class="line"><a name="l00726"></a><span class="lineno">  726</span>&#160;                       <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwCodePage;</div>
<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;                       <span class="keywordflow">if</span> (!GetLocaleInfoW(</div>
<div class="line"><a name="l00728"></a><span class="lineno">  728</span>&#160;                                (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)hkl &amp; 0xffff,</div>
<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;                                LOCALE_IDEFAULTANSICODEPAGE | LOCALE_RETURN_NUMBER,</div>
<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;                                (LPWSTR)&amp;dwCodePage,</div>
<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;                                <span class="keyword">sizeof</span>(dwCodePage) / <span class="keyword">sizeof</span>(WCHAR)</div>
<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;                                )) {</div>
<div class="line"><a name="l00733"></a><span class="lineno">  733</span>&#160;                           <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l00734"></a><span class="lineno">  734</span>&#160;                       }</div>
<div class="line"><a name="l00735"></a><span class="lineno">  735</span>&#160; </div>
<div class="line"><a name="l00736"></a><span class="lineno">  736</span>&#160;                       <a class="code" href="a03611.html#af21419db1bb21003eed93ee591c44c5d">uPMCachedCP</a> = dwCodePage;</div>
<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;                       <a class="code" href="a03611.html#a08137d4f288cd063795d1ac36f55d1bb">hPMCachedHKL</a> = hkl;</div>
<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;                   }</div>
<div class="line"><a name="l00739"></a><span class="lineno">  739</span>&#160; </div>
<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;                   dwAnsi = 0;</div>
<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;                   <span class="keywordflow">if</span> (!<a class="code" href="a00941.html#aaf8b3ae5e2b40b6de6cc9377d53baa45">WideCharToMultiByte</a>(</div>
<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;                            <a class="code" href="a03611.html#af21419db1bb21003eed93ee591c44c5d">uPMCachedCP</a>,</div>
<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;                            0,</div>
<div class="line"><a name="l00744"></a><span class="lineno">  744</span>&#160;                            (LPWSTR)&amp;pmsg-&gt;wParam,</div>
<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;                            1,</div>
<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;                            (LPSTR)&amp;dwAnsi,</div>
<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160;                            2,</div>
<div class="line"><a name="l00748"></a><span class="lineno">  748</span>&#160;                            NULL,</div>
<div class="line"><a name="l00749"></a><span class="lineno">  749</span>&#160;                            NULL)) {</div>
<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;                       pmsg-&gt;wParam = (WPARAM)0x00;</div>
<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;                       retval = 0;</div>
<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;                   } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00753"></a><span class="lineno">  753</span>&#160;<span class="preprocessor">#ifdef FE_SB // _PeekMessage()</span></div>
<div class="line"><a name="l00754"></a><span class="lineno">  754</span>&#160;                       <span class="comment">//</span></div>
<div class="line"><a name="l00755"></a><span class="lineno">  755</span>&#160;                       <span class="comment">// Build DBCS-ware wParam. (for WM_CHAR...)</span></div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;                       <span class="comment">//</span></div>
<div class="line"><a name="l00757"></a><span class="lineno">  757</span>&#160;                       BUILD_DBCS_MESSAGE_TO_CLIENTA_FROM_SERVER(pmsg,dwAnsi,FALSE);</div>
<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;                       <span class="comment">// LATER!!!; in product 2 handle DBCS correctly.</span></div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;<span class="preprocessor">    #ifdef DEBUG</span></div>
<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;                       <span class="keywordflow">if</span> ((dwAnsi == 0) || (dwAnsi &gt; 0xFF)) {</div>
<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;                           <a class="code" href="a00371.html#a31aafffb49dfe98bdc749c9b35c90162">RIPMSG1</a>(<a class="code" href="a00371.html#ad6b24a3d61abdc148c8751b5c5add686">RIP_VERBOSE</a>, <span class="stringliteral">&quot;msgW -&gt; msgA: char = 0x%.4lX\n&quot;</span>, dwAnsi);</div>
<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;                       }</div>
<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;<span class="preprocessor">    #endif</span></div>
<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;                       pmsg-&gt;wParam = (WPARAM)dwAnsi;</div>
<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;<span class="preprocessor">#endif // FE_SB</span></div>
<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;                   }</div>
<div class="line"><a name="l00768"></a><span class="lineno">  768</span>&#160;               } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00769"></a><span class="lineno">  769</span>&#160;<span class="preprocessor">#ifdef FE_SB // _PeekMessage()</span></div>
<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;                <span class="keywordflow">if</span> (<a class="code" href="a00365.html#a541a4d80afc3abe77692be2160e0f354">RtlWCSMessageWParamCharToMB</a>(pmsg-&gt;message, (LPDWORD)&amp;(pmsg-&gt;wParam))) {</div>
<div class="line"><a name="l00771"></a><span class="lineno">  771</span>&#160;                    dwAnsi = pmsg-&gt;wParam;</div>
<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;                    <span class="comment">//</span></div>
<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;                    <span class="comment">// Build DBCS-ware wParam. (for EM_SETPASSWORDCHAR...)</span></div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;                    <span class="comment">//</span></div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;                    BUILD_DBCS_MESSAGE_TO_CLIENTA_FROM_SERVER(pmsg,dwAnsi,TRUE);</div>
<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;                } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;                    retval = 0;</div>
<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;                }</div>
<div class="line"><a name="l00779"></a><span class="lineno">  779</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00780"></a><span class="lineno">  780</span>&#160;                <span class="keywordflow">if</span> (!<a class="code" href="a00365.html#a541a4d80afc3abe77692be2160e0f354">RtlWCSMessageWParamCharToMB</a>(pmsg-&gt;message, (LPDWORD)&amp;(pmsg-&gt;wParam)))</div>
<div class="line"><a name="l00781"></a><span class="lineno">  781</span>&#160;                    retval = 0;</div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;<span class="preprocessor">#endif // FE_SB</span></div>
<div class="line"><a name="l00783"></a><span class="lineno">  783</span>&#160;               }</div>
<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;<span class="preprocessor">#ifdef FE_SB // _PeekMessage()</span></div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00786"></a><span class="lineno">  786</span>&#160;               <span class="comment">//</span></div>
<div class="line"><a name="l00787"></a><span class="lineno">  787</span>&#160;               <span class="comment">// Only LOWORD of WPARAM is valid for WM_CHAR....</span></div>
<div class="line"><a name="l00788"></a><span class="lineno">  788</span>&#160;               <span class="comment">// (Mask off DBCS messaging information.)</span></div>
<div class="line"><a name="l00789"></a><span class="lineno">  789</span>&#160;               <span class="comment">//</span></div>
<div class="line"><a name="l00790"></a><span class="lineno">  790</span>&#160;               BUILD_DBCS_MESSAGE_TO_CLIENTW_FROM_SERVER(pmsg-&gt;message,pmsg-&gt;wParam);</div>
<div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;            }</div>
<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;            }</div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;<span class="preprocessor">#endif // FE_SB</span></div>
<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;        }</div>
<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160; </div>
<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;<span class="preprocessor">#ifdef FE_SB // _PeekMessage()</span></div>
<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;ExitPeekMessage:</div>
<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160;<span class="preprocessor">#endif // FE_SB</span></div>
<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160; </div>
<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;}</div>
<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160; </div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160; </div>
<div class="line"><a name="l00806"></a><span class="lineno"><a class="line" href="a03611.html#a4f3bff0221432a8189a2cb1342966517">  806</a></span>&#160;BOOL <a class="code" href="a03611.html#a4f3bff0221432a8189a2cb1342966517">RegisterHotKey</a>(</div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;    <span class="keywordtype">int</span> <span class="keywordtype">id</span>,</div>
<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> fsModifiers,</div>
<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> vk)</div>
<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;{</div>
<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160; </div>
<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;        <span class="keywordflow">if</span> (fsModifiers &amp; ~MOD_VALID)</div>
<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;            <a class="code" href="a00371.html#a31aafffb49dfe98bdc749c9b35c90162">RIPMSG1</a>(<a class="code" href="a00371.html#afa5f32de88404289ec03cd2c0e61e94f">RIP_ERROR</a>, <span class="stringliteral">&quot;RegisterHotKey: illegal modifiers %lX&quot;</span>, fsModifiers);</div>
<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160; </div>
<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a11b6d3c4f5b50eb692be1356dbc7f73b">NtUserRegisterHotKey</a>(</div>
<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;                hwnd,</div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;                <span class="keywordtype">id</span>,</div>
<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;                fsModifiers,</div>
<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;                vk);</div>
<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160; </div>
<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;}</div>
<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160; </div>
<div class="line"><a name="l00827"></a><span class="lineno"><a class="line" href="a00257.html#a2c65a17373cf6cba79806306d58a5041">  827</a></span>&#160;LONG <a class="code" href="a03611.html#a57b1e03d4f0ecfcebe8af26cf47b840a">_SetWindowLong</a>(</div>
<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;    <span class="keywordtype">int</span> nIndex,</div>
<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;    LONG dwNewLong,</div>
<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;    BOOL bAnsi)</div>
<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;{</div>
<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;    <a class="code" href="a02581.html">PWND</a> pwnd;</div>
<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;    LONG dwOldLong;</div>
<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwCPDType = 0;</div>
<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160; </div>
<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;    pwnd = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwnd);</div>
<div class="line"><a name="l00838"></a><span class="lineno">  838</span>&#160; </div>
<div class="line"><a name="l00839"></a><span class="lineno">  839</span>&#160;    <span class="keywordflow">if</span> (pwnd == NULL)</div>
<div class="line"><a name="l00840"></a><span class="lineno">  840</span>&#160;        <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00841"></a><span class="lineno">  841</span>&#160; </div>
<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;    <span class="keywordflow">if</span> (TestWF(pwnd, WFDIALOGWINDOW)) {</div>
<div class="line"><a name="l00843"></a><span class="lineno">  843</span>&#160;        <span class="keywordflow">switch</span> (nIndex) {</div>
<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160;        <span class="keywordflow">case</span> DWL_DLGPROC:     <span class="comment">// See similar case GWL_WNDGPROC</span></div>
<div class="line"><a name="l00845"></a><span class="lineno">  845</span>&#160; </div>
<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;<span class="comment">             * Hide the window proc from other processes</span></div>
<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;            <span class="keywordflow">if</span> (!<a class="code" href="a00263.html#a52c48f6bdd99bf8fee75d67f1b1b4d01">TestWindowProcess</a>(pwnd)) {</div>
<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;                <a class="code" href="a00371.html#adbdd8355d15a97b6f3a9e4766e6a2cc1">RIPERR1</a>(ERROR_ACCESS_DENIED,</div>
<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;                        <a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>,</div>
<div class="line"><a name="l00852"></a><span class="lineno">  852</span>&#160;                        <span class="stringliteral">&quot;Access denied to hwnd (%#lx) in _SetWindowLong&quot;</span>,</div>
<div class="line"><a name="l00853"></a><span class="lineno">  853</span>&#160;                        hwnd);</div>
<div class="line"><a name="l00854"></a><span class="lineno">  854</span>&#160; </div>
<div class="line"><a name="l00855"></a><span class="lineno">  855</span>&#160;                <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00856"></a><span class="lineno">  856</span>&#160;            }</div>
<div class="line"><a name="l00857"></a><span class="lineno">  857</span>&#160; </div>
<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;<span class="comment">             * Get the old window proc address</span></div>
<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;            dwOldLong = (LONG)<a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#acb492d29e9933b1378a48aa31c2b7290">lpfnDlg</a>;</div>
<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160; </div>
<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;<span class="comment">             * We always store the actual address in the wndproc; We only</span></div>
<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;<span class="comment">             * give the CallProc handles to the application</span></div>
<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;            <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>(!ISCPDTAG(dwOldLong));</div>
<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160; </div>
<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00870"></a><span class="lineno">  870</span>&#160;<span class="comment">             * May need to return a CallProc handle if there is an</span></div>
<div class="line"><a name="l00871"></a><span class="lineno">  871</span>&#160;<span class="comment">             * Ansi/Unicode tranistion</span></div>
<div class="line"><a name="l00872"></a><span class="lineno">  872</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00873"></a><span class="lineno">  873</span>&#160; </div>
<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;            <span class="keywordflow">if</span> (bAnsi != ((<a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;flags &amp; DLGF_ANSI) ? TRUE : FALSE)) {</div>
<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;                dwCPDType |= bAnsi ? CPD_ANSI_TO_UNICODE : CPD_UNICODE_TO_ANSI;</div>
<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;            }</div>
<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160; </div>
<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;<span class="comment">             * If we detected a transition create a CallProc handle for</span></div>
<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;<span class="comment">             * this type of transition and this wndproc (dwOldLong)</span></div>
<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;            <span class="keywordflow">if</span> (dwCPDType) {</div>
<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;                <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> cpd;</div>
<div class="line"><a name="l00884"></a><span class="lineno">  884</span>&#160; </div>
<div class="line"><a name="l00885"></a><span class="lineno">  885</span>&#160;                cpd = <a class="code" href="a00041.html#af167d292a5583dfe18f5dac20309bb25">GetCPD</a>(pwnd, dwCPDType | CPD_DIALOG, dwOldLong);</div>
<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160; </div>
<div class="line"><a name="l00887"></a><span class="lineno">  887</span>&#160;                <span class="keywordflow">if</span> (cpd) {</div>
<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;                    dwOldLong = cpd;</div>
<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;                } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;                    <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;SetWindowLong (DWL_DLGPROC) unable to alloc CPD returning handle\n&quot;</span>);</div>
<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;                }</div>
<div class="line"><a name="l00892"></a><span class="lineno">  892</span>&#160;            }</div>
<div class="line"><a name="l00893"></a><span class="lineno">  893</span>&#160; </div>
<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;<span class="comment">             * Convert a possible CallProc Handle into a real address.</span></div>
<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;<span class="comment">             * The app may have kept the CallProc Handle from some</span></div>
<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;<span class="comment">             * previous mixed GetClassinfo or SetWindowLong.</span></div>
<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;<span class="comment">             *</span></div>
<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;<span class="comment">             * WARNING bAnsi is modified here to represent real type of</span></div>
<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;<span class="comment">             * proc rather than if SetWindowLongA or W was called</span></div>
<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;            <span class="keywordflow">if</span> (ISCPDTAG(dwNewLong)) {</div>
<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;                <a class="code" href="a02557.html">PCALLPROCDATA</a> pCPD;</div>
<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;                <span class="keywordflow">if</span> (pCPD = <a class="code" href="a00365.html#ab993ad57b0d56b4f9b64df02256b611c">HMValidateHandleNoRip</a>((HANDLE)dwNewLong, TYPE_CALLPROC)) {</div>
<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;                    dwNewLong = pCPD-&gt;<a class="code" href="a02557.html#a3edd15123eefa8ad8e6ad3a87c7e6b96">pfnClientPrevious</a>;</div>
<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;                    bAnsi = pCPD-&gt;<a class="code" href="a02557.html#aedf49a5424d4d9ad2cf1817a726c165f">wType</a> &amp; CPD_UNICODE_TO_ANSI;</div>
<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;                }</div>
<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;            }</div>
<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160; </div>
<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;<span class="comment">             * If an app &#39;unsubclasses&#39; a server-side window proc we need to</span></div>
<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;<span class="comment">             * restore everything so SendMessage and friends know that it&#39;s</span></div>
<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;<span class="comment">             * a server-side proc again.  Need to check against client side</span></div>
<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;<span class="comment">             * stub addresses.</span></div>
<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;            <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#acb492d29e9933b1378a48aa31c2b7290">lpfnDlg</a> = (WNDPROC)dwNewLong;</div>
<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;            <span class="keywordflow">if</span> (bAnsi) {</div>
<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;                <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#a29bb851466268efcf57e7e81e2d0ab09">flags</a> |= DLGF_ANSI;</div>
<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;                <a class="code" href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a>(pwnd)-&gt;<a class="code" href="a02641.html#a29bb851466268efcf57e7e81e2d0ab09">flags</a> &amp;= ~DLGF_ANSI;</div>
<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;            }</div>
<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160; </div>
<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;            <span class="keywordflow">return</span> dwOldLong;</div>
<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160; </div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;        <span class="keywordflow">case</span> DWL_MSGRESULT:</div>
<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;        <span class="keywordflow">case</span> DWL_USER:</div>
<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;            <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160; </div>
<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;        <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;            <span class="keywordflow">if</span> (nIndex &gt;= 0 &amp;&amp; nIndex &lt; DLGWINDOWEXTRA) {</div>
<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;                <a class="code" href="a00371.html#ae61d954062a9ece52e350e54cad9a23d">RIPERR0</a>(ERROR_PRIVATE_DIALOG_INDEX, <a class="code" href="a00371.html#ad6b24a3d61abdc148c8751b5c5add686">RIP_VERBOSE</a>, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;                <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;            }</div>
<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;        }</div>
<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;    }</div>
<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160; </div>
<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160; </div>
<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;<span class="comment">     * If this is a listbox window and the listbox structure has</span></div>
<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;<span class="comment">     * already been initialized, don&#39;t allow the app to override the</span></div>
<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;<span class="comment">     * owner draw styles. We need to do this since Windows only</span></div>
<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;<span class="comment">     * used the styles in creating the structure, but we also use</span></div>
<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;<span class="comment">     * them to determine if strings need to be thunked.</span></div>
<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;<span class="comment">     *</span></div>
<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160; </div>
<div class="line"><a name="l00948"></a><span class="lineno">  948</span>&#160;    <span class="keywordflow">if</span> (nIndex == GWL_STYLE &amp;&amp;</div>
<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;        GETFNID(pwnd) == FNID_LISTBOX &amp;&amp;</div>
<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;        ((<a class="code" href="a01933.html">PLBWND</a>)pwnd)-&gt;pLBIV != NULL &amp;&amp;</div>
<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160;        (!<a class="code" href="a00263.html#a52c48f6bdd99bf8fee75d67f1b1b4d01">TestWindowProcess</a>(pwnd) || ((<a class="code" href="a01933.html">PLBWND</a>)pwnd)-&gt;pLBIV-&gt;fInitialized)) {</div>
<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160; </div>
<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;<span class="preprocessor">#ifdef DEBUG</span></div>
<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;        LONG dwDebugLong = dwNewLong;</div>
<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160; </div>
<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;        dwNewLong &amp;= ~(LBS_OWNERDRAWFIXED |</div>
<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;                       LBS_OWNERDRAWVARIABLE |</div>
<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;                       LBS_HASSTRINGS);</div>
<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160; </div>
<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;        dwNewLong |= pwnd-&gt;style &amp; (LBS_OWNERDRAWFIXED |</div>
<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;                                    LBS_OWNERDRAWVARIABLE |</div>
<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;                                    LBS_HASSTRINGS);</div>
<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160; </div>
<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;<span class="preprocessor">#ifdef DEBUG</span></div>
<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;        <span class="keywordflow">if</span> (dwDebugLong != dwNewLong) {</div>
<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;           <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;SetWindowLong can&#39;t change LBS_OWNERDRAW* or LBS_HASSTRINGS.&quot;</span>);</div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;        }</div>
<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160;    }</div>
<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160; </div>
<div class="line"><a name="l00972"></a><span class="lineno">  972</span>&#160; </div>
<div class="line"><a name="l00973"></a><span class="lineno">  973</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#aee7fc73c943acf6740c2d0bb841b7aba">NtUserSetWindowLong</a>(</div>
<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;                hwnd,</div>
<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;                nIndex,</div>
<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;                dwNewLong,</div>
<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;                bAnsi);</div>
<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160; </div>
<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(LONG);</div>
<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160;}</div>
<div class="line"><a name="l00982"></a><span class="lineno">  982</span>&#160; </div>
<div class="line"><a name="l00983"></a><span class="lineno"><a class="line" href="a03611.html#afc84f56ed1c172ca9323fb40ecb7a427">  983</a></span>&#160;BOOL <a class="code" href="a03611.html#afc84f56ed1c172ca9323fb40ecb7a427">TranslateMessageEx</a>(</div>
<div class="line"><a name="l00984"></a><span class="lineno">  984</span>&#160;    CONST MSG *pmsg,</div>
<div class="line"><a name="l00985"></a><span class="lineno">  985</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> flags)</div>
<div class="line"><a name="l00986"></a><span class="lineno">  986</span>&#160;{</div>
<div class="line"><a name="l00987"></a><span class="lineno">  987</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l00988"></a><span class="lineno">  988</span>&#160; </div>
<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l00990"></a><span class="lineno">  990</span>&#160;<span class="comment">         * Don&#39;t bother going over to the kernel if this isn&#39;t</span></div>
<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;<span class="comment">         * key message.</span></div>
<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;        <span class="keywordflow">switch</span> (pmsg-&gt;message) {</div>
<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;        <span class="keywordflow">case</span> WM_KEYDOWN:</div>
<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;        <span class="keywordflow">case</span> WM_KEYUP:</div>
<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;        <span class="keywordflow">case</span> WM_SYSKEYDOWN:</div>
<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;        <span class="keywordflow">case</span> WM_SYSKEYUP:</div>
<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;            <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;        <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;            <span class="keywordflow">if</span> (pmsg-&gt;message &amp; RESERVED_MSG_BITS) {</div>
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;                <a class="code" href="a00371.html#adbdd8355d15a97b6f3a9e4766e6a2cc1">RIPERR1</a>(ERROR_INVALID_PARAMETER,</div>
<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160;                        <a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>,</div>
<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>&#160;                        <span class="stringliteral">&quot;Invalid parameter \&quot;pmsg-&gt;message\&quot; (%ld) to TranslateMessageEx&quot;</span>,</div>
<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>&#160;                        pmsg-&gt;message);</div>
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;            }</div>
<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160;            <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>&#160;        }</div>
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>&#160; </div>
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a1e89f859e272700a048cdfaa8d20c612">NtUserTranslateMessage</a>(</div>
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>&#160;                pmsg,</div>
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>&#160;                flags);</div>
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; </div>
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160;}</div>
<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160; </div>
<div class="line"><a name="l01017"></a><span class="lineno"><a class="line" href="a03611.html#af4624f95891ff61f5e8c6c1c386f16fe"> 1017</a></span>&#160;BOOL <a class="code" href="a03611.html#af4624f95891ff61f5e8c6c1c386f16fe">TranslateMessage</a>(</div>
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>&#160;    CONST MSG *pmsg)</div>
<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;{</div>
<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>&#160;<span class="preprocessor">#ifdef FE_IME //@TK</span></div>
<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;    <span class="keywordflow">if</span> ( LOWORD(pmsg-&gt;wParam) == VK_PROCESSKEY ) {</div>
<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;        BOOL fResult;</div>
<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>&#160;        <span class="comment">//</span></div>
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>&#160;        <span class="comment">// This vkey should be processed by IME</span></div>
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;        <span class="comment">//</span></div>
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>&#160;        fResult = <a class="code" href="a03287.html#a64204fa04498ea04e098127aa6b121dc">ImmTranslateMessage</a>( pmsg-&gt;hwnd,</div>
<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>&#160;                                       pmsg-&gt;message,</div>
<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160;                                       pmsg-&gt;wParam,</div>
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>&#160;                                       pmsg-&gt;lParam );</div>
<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>&#160;        <span class="keywordflow">if</span> ( fResult )</div>
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160;            <span class="keywordflow">return</span> fResult;</div>
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>&#160;    }</div>
<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160;    <span class="keywordflow">return</span>(<a class="code" href="a03611.html#afc84f56ed1c172ca9323fb40ecb7a427">TranslateMessageEx</a>(pmsg, 0));</div>
<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;}</div>
<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160; </div>
<div class="line"><a name="l01037"></a><span class="lineno"><a class="line" href="a03611.html#a4dfda995bf0f082361527377e6e63833"> 1037</a></span>&#160;BOOL <a class="code" href="a03611.html#a4dfda995bf0f082361527377e6e63833">RedrawWindow</a>(</div>
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>&#160;    CONST RECT *prcUpdate,</div>
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160;    HRGN hrgnUpdate,</div>
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> flags)</div>
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>&#160;{</div>
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>&#160; </div>
<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>&#160;        <span class="keywordflow">if</span> (hrgnUpdate != NULL) {</div>
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>&#160;            FIXUP_HANDLE(hrgnUpdate);</div>
<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>&#160;            <span class="keywordflow">if</span> (hrgnUpdate == NULL)</div>
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;                <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;        }</div>
<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160; </div>
<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a9aac8bdc175ec50e259cda08903a9c28">NtUserRedrawWindow</a>(</div>
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;                hwnd,</div>
<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160;                prcUpdate,</div>
<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;                hrgnUpdate,</div>
<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;                flags);</div>
<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160; </div>
<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;}</div>
<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160; </div>
<div class="line"><a name="l01061"></a><span class="lineno"><a class="line" href="a03611.html#a9075e083dfa56cd0e3c1442f14a179a3"> 1061</a></span>&#160;BOOL <a class="code" href="a03611.html#a9075e083dfa56cd0e3c1442f14a179a3">SetWindowRgn</a>(</div>
<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;    HRGN hrgn,</div>
<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;    BOOL bRedraw)</div>
<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;{</div>
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160; </div>
<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#ad9962fbc8cde4e55bdeff3b63f13ef11">NtUserSetWindowRgn</a>(</div>
<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;                hwnd,</div>
<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;                hrgn,</div>
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;                bRedraw);</div>
<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160; </div>
<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;        <span class="keywordflow">if</span> (retval) {</div>
<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;            DeleteObject(hrgn);</div>
<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>&#160;        }</div>
<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>&#160; </div>
<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>&#160;}</div>
<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>&#160; </div>
<div class="line"><a name="l01081"></a><span class="lineno"><a class="line" href="a03611.html#a85f7b6c1d3c04bdf3a84259eb85cf745"> 1081</a></span>&#160;BOOL <a class="code" href="a03611.html#a85f7b6c1d3c04bdf3a84259eb85cf745">InternalGetWindowText</a>(</div>
<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>&#160;    LPWSTR pString,</div>
<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>&#160;    <span class="keywordtype">int</span> cchMaxCount)</div>
<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>&#160;{</div>
<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>&#160; </div>
<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a1f4fd2ae8a50bfca05947460482ceaea">NtUserInternalGetWindowText</a>(</div>
<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>&#160;                hwnd,</div>
<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>&#160;                pString,</div>
<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>&#160;                cchMaxCount);</div>
<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>&#160; </div>
<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>&#160;        <span class="keywordflow">if</span> (!retval) {</div>
<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>&#160;            *pString = (WCHAR)0;</div>
<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>&#160;        }</div>
<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>&#160; </div>
<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>&#160;}</div>
<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>&#160; </div>
<div class="line"><a name="l01101"></a><span class="lineno"><a class="line" href="a03611.html#ac08320cb99ff87cc99ff553e36dc1616"> 1101</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="a03611.html#ac08320cb99ff87cc99ff553e36dc1616">ToUnicode</a>(</div>
<div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wVirtKey,</div>
<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wScanCode,</div>
<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>&#160;    PBYTE pKeyState,</div>
<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>&#160;    LPWSTR pwszBuff,</div>
<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>&#160;    <span class="keywordtype">int</span> cchBuff,</div>
<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wFlags)</div>
<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>&#160;{</div>
<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>&#160; </div>
<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#afddc374b48eebdc2365c459778ebd910">NtUserToUnicodeEx</a>(</div>
<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>&#160;                wVirtKey,</div>
<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>&#160;                wScanCode,</div>
<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>&#160;                pKeyState,</div>
<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>&#160;                pwszBuff,</div>
<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>&#160;                cchBuff,</div>
<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>&#160;                wFlags,</div>
<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>&#160;                (HKL)NULL);</div>
<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>&#160; </div>
<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>&#160;        <span class="keywordflow">if</span> (!retval) {</div>
<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>&#160;            *pwszBuff = L<span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>&#160;        }</div>
<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>&#160; </div>
<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<span class="keywordtype">int</span>);</div>
<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>&#160;}</div>
<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>&#160; </div>
<div class="line"><a name="l01128"></a><span class="lineno"><a class="line" href="a03611.html#ab36183158992940b36c1a43c4fe55179"> 1128</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="a03611.html#ab36183158992940b36c1a43c4fe55179">ToUnicodeEx</a>(</div>
<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wVirtKey,</div>
<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wScanCode,</div>
<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>&#160;    PBYTE pKeyState,</div>
<div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>&#160;    LPWSTR pwszBuff,</div>
<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>&#160;    <span class="keywordtype">int</span> cchBuff,</div>
<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> wFlags,</div>
<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>&#160;    HKL hkl)</div>
<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>&#160;{</div>
<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>&#160; </div>
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>&#160;    retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#afddc374b48eebdc2365c459778ebd910">NtUserToUnicodeEx</a>(</div>
<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>&#160;            wVirtKey,</div>
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>&#160;            wScanCode,</div>
<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>&#160;            pKeyState,</div>
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>&#160;            pwszBuff,</div>
<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>&#160;            cchBuff,</div>
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>&#160;            wFlags,</div>
<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>&#160;            hkl);</div>
<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>&#160; </div>
<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>&#160;    <span class="keywordflow">if</span> (!retval) {</div>
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>&#160;        *pwszBuff = L<span class="charliteral">&#39;\0&#39;</span>;</div>
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>&#160;    }</div>
<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>&#160; </div>
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<span class="keywordtype">int</span>);</div>
<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>&#160;}</div>
<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>&#160; </div>
<div class="line"><a name="l01156"></a><span class="lineno"><a class="line" href="a03611.html#a1739e6af6628e46741d571eab433ff41"> 1156</a></span>&#160;BOOL <a class="code" href="a03611.html#a1739e6af6628e46741d571eab433ff41">SetWindowStationUser</a>(</div>
<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>&#160;    HWINSTA hwinsta,</div>
<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>&#160;    PLUID   pluidUser,</div>
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>&#160;    PSID    psidUser,</div>
<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>   cbsidUser)</div>
<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>&#160;{</div>
<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>&#160;    VOID <a class="code" href="a00074.html#aabc8ece498ced15ab92fb9110c47af8a">Logon</a>(BOOL fLogon);</div>
<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>&#160;    LUID luidNone = { 0, 0 };</div>
<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>&#160; </div>
<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>&#160; </div>
<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>&#160; </div>
<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#af141ffb3fbfc304d2a5100cf3b8a3d50">NtUserSetWindowStationUser</a>(hwinsta,</div>
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>&#160;                                                   pluidUser,</div>
<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>&#160;                                                   psidUser,</div>
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>&#160;                                                   cbsidUser);</div>
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>&#160; </div>
<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>&#160;<span class="comment">         * Load global atoms if the logon succeeded</span></div>
<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>&#160;        <span class="keywordflow">if</span> (retval) {</div>
<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>&#160; </div>
<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>&#160;            <span class="keywordflow">if</span> (!RtlEqualLuid(pluidUser,&amp;luidNone)) {</div>
<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>&#160;                <span class="comment">/*</span></div>
<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>&#160;<span class="comment">                 * Reset console and load Nls data.</span></div>
<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>&#160;<span class="comment">                 */</span></div>
<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>&#160;                <a class="code" href="a00074.html#aabc8ece498ced15ab92fb9110c47af8a">Logon</a>(TRUE);</div>
<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>&#160;                <span class="comment">/*</span></div>
<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>&#160;<span class="comment">                 * Flush NLS cache.</span></div>
<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>&#160;<span class="comment">                 */</span></div>
<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>&#160;                <a class="code" href="a00074.html#aabc8ece498ced15ab92fb9110c47af8a">Logon</a>(FALSE);</div>
<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>&#160;            }</div>
<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>&#160; </div>
<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>&#160;            retval = TRUE;</div>
<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>&#160;        }</div>
<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>&#160;}</div>
<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>&#160; </div>
<div class="line"><a name="l01196"></a><span class="lineno"><a class="line" href="a03611.html#accd52159dd42c3134f2041236147034b"> 1196</a></span>&#160;BOOL <a class="code" href="a03611.html#accd52159dd42c3134f2041236147034b">SetSystemCursor</a>(</div>
<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>&#160;    HCURSOR hcur,</div>
<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>   <span class="keywordtype">id</span>)</div>
<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>&#160;{</div>
<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>&#160; </div>
<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>&#160;        <span class="keywordflow">if</span> (hcur == NULL) {</div>
<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>&#160;            hcur = (HANDLE)<a class="code" href="a00047.html#a0f13243c489e64c4cfd10a007f2a53e7">LoadIcoCur</a>(NULL,</div>
<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>&#160;                                      MAKEINTRESOURCE(<span class="keywordtype">id</span>),</div>
<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>&#160;                                      RT_CURSOR,</div>
<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>&#160;                                      0,</div>
<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>&#160;                                      0,</div>
<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>&#160;                                      LR_DEFAULTSIZE);</div>
<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>&#160; </div>
<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>&#160;            <span class="keywordflow">if</span> (hcur == NULL)</div>
<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>&#160;                <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>&#160;        }</div>
<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>&#160; </div>
<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a647a063b95c5c3906d3edaa2c8bec609">NtUserSetSystemCursor</a>(hcur, <span class="keywordtype">id</span>);</div>
<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>&#160; </div>
<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>&#160;}</div>
<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>&#160; </div>
<div class="line"><a name="l01220"></a><span class="lineno"><a class="line" href="a00257.html#af07d64128d87da9eca6afaaf0267ed3c"> 1220</a></span>&#160;HCURSOR <a class="code" href="a03611.html#af07d64128d87da9eca6afaaf0267ed3c">FindExistingCursorIcon</a>(</div>
<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>&#160;    LPWSTR      pszModName,</div>
<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>&#160;    LPCWSTR     pszResName,</div>
<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>&#160;    <a class="code" href="a02617.html">PCURSORFIND</a> pcfSearch)</div>
<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>&#160;{</div>
<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a> strModName;</div>
<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a> strResName;</div>
<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>&#160; </div>
<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>&#160;<span class="comment">     * Make sure cleanup will work successfully</span></div>
<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>&#160;    strModName.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>&#160;    strResName.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>&#160; </div>
<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>&#160; </div>
<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>&#160;        <span class="keywordflow">if</span> (pszModName == NULL)</div>
<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>&#160;            pszModName = <a class="code" href="a00020.html#adeb42abe763d9eaa7e651e1d8accdb66">szUSER32</a>;</div>
<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>&#160; </div>
<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>&#160;        <a class="code" href="a00359.html#acd4d06b14220f8bc76a7e28664d7f237">COPYLPWSTR</a>(&amp;strModName, pszModName);</div>
<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>&#160;        <a class="code" href="a00359.html#a7a523494593d00654f7130108ba58753">COPYLPWSTRID</a>(&amp;strResName, pszResName);</div>
<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>&#160; </div>
<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a2b9cfdd2d211b4e3237fb0607fb4c07c">NtUserFindExistingCursorIcon</a>(strModName.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>,</div>
<div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>&#160;                                                     strResName.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>,</div>
<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>&#160;                                                     pcfSearch);</div>
<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>&#160; </div>
<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>&#160; </div>
<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>&#160;    <a class="code" href="a00359.html#a1cd8eaaec48c11cb1d5a0f629c9621bf">CLEANUPLPWSTR</a>(strModName);</div>
<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>&#160;    <a class="code" href="a00359.html#a1cd8eaaec48c11cb1d5a0f629c9621bf">CLEANUPLPWSTR</a>(strResName);</div>
<div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>&#160; </div>
<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(HCURSOR);</div>
<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>&#160;}</div>
<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>&#160; </div>
<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>&#160; </div>
<div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>&#160; </div>
<div class="line"><a name="l01256"></a><span class="lineno"><a class="line" href="a00257.html#ac32085a6e966374b8af33d97172f635b"> 1256</a></span>&#160;BOOL <a class="code" href="a03611.html#ac32085a6e966374b8af33d97172f635b">_SetCursorIconData</a>(</div>
<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>&#160;    HCURSOR     hCursor,</div>
<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>&#160;    <a class="code" href="a02613.html">PCURSORDATA</a> pcur,</div>
<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>       cbData)</div>
<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>&#160;{</div>
<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a>  strModName;</div>
<div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a>  strResName;</div>
<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>&#160; </div>
<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>&#160;<span class="comment">     * Make sure cleanup will work successfully</span></div>
<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>&#160;    strModName.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>&#160;    strResName.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>&#160; </div>
<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>&#160; </div>
<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>&#160;        <a class="code" href="a00359.html#abac5d7aa2e60b2f7c6ebe22f1f07728c">COPYLPWSTROPT</a>(&amp;strModName, pcur-&gt;<a class="code" href="a02613.html#a2bacf588d3acbb57f1a40a4925947187">lpModName</a>);</div>
<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>&#160;        <a class="code" href="a00359.html#afe4016d36bf9a453d4268e73608814b2">COPYLPWSTRIDOPT</a>(&amp;strResName, pcur-&gt;<a class="code" href="a02613.html#a2ad4262763a517605f462b75977a5345">lpName</a>);</div>
<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>&#160; </div>
<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a8c275bb67c8072f2bdf5edb0cfe4e6ed">NtUserSetCursorIconData</a>(hCursor,</div>
<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>&#160;                                                strModName.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>,</div>
<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>&#160;                                                strResName.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>,</div>
<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>&#160;                                                pcur,</div>
<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>&#160;                                                cbData);</div>
<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>&#160; </div>
<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>&#160; </div>
<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>&#160;    <a class="code" href="a00359.html#a1cd8eaaec48c11cb1d5a0f629c9621bf">CLEANUPLPWSTR</a>(strModName);</div>
<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>&#160;    <a class="code" href="a00359.html#a1cd8eaaec48c11cb1d5a0f629c9621bf">CLEANUPLPWSTR</a>(strResName);</div>
<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>&#160; </div>
<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>&#160;}</div>
<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>&#160; </div>
<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>&#160; </div>
<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>&#160; </div>
<div class="line"><a name="l01291"></a><span class="lineno"><a class="line" href="a00257.html#a825f36e8b13352660935596c0709bdcf"> 1291</a></span>&#160;BOOL <a class="code" href="a03611.html#a2a39ced7839ed0c5501c9fde2f3a930b">_DefSetText</a>(</div>
<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>&#160;    LPCWSTR lpszText,</div>
<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>&#160;    BOOL bAnsi)</div>
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>&#160;{</div>
<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>&#160;    <a class="code" href="a02449.html">LARGE_STRING</a> str;</div>
<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>&#160; </div>
<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>&#160; </div>
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>&#160;        <span class="keywordflow">if</span> (lpszText) {</div>
<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>&#160;            <span class="keywordflow">if</span> (bAnsi)</div>
<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>&#160;                <a class="code" href="a00365.html#a47585c80672490cbfb5c1bdd5f4cc874">RtlInitLargeAnsiString</a>((<a class="code" href="a02453.html">PLARGE_ANSI_STRING</a>)&amp;str,</div>
<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>&#160;                        (LPSTR)lpszText, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>&#160;            <span class="keywordflow">else</span></div>
<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>&#160;                <a class="code" href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a>((<a class="code" href="a02457.html">PLARGE_UNICODE_STRING</a>)&amp;str,</div>
<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>&#160;                        lpszText, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>&#160;        }</div>
<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>&#160; </div>
<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a7811de74bf87a77445dd49d034b7a6e1">NtUserDefSetText</a>(</div>
<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>&#160;                hwnd,</div>
<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>&#160;                lpszText ? &amp;str : NULL);</div>
<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>&#160; </div>
<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(BOOL);</div>
<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>&#160;}</div>
<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>&#160; </div>
<div class="line"><a name="l01317"></a><span class="lineno"><a class="line" href="a00257.html#a4863b63fd6fd71b217137b74131c8e20"> 1317</a></span>&#160;<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> <a class="code" href="a03611.html#a4863b63fd6fd71b217137b74131c8e20">_GetListboxString</a>(</div>
<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>&#160;    HWND hwnd,</div>
<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> msg,</div>
<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> wParam,</div>
<div class="line"><a name="l01321"></a><span class="lineno"> 1321</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> cch,</div>
<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span>&#160;    LPTSTR pString,</div>
<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> xParam,</div>
<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> xpfn,</div>
<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>&#160;    BOOL bAnsi)</div>
<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>&#160;{</div>
<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>&#160;    BOOL bNotString;</div>
<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>&#160;    <a class="code" href="a02449.html">LARGE_STRING</a> str;</div>
<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>&#160; </div>
<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>&#160; </div>
<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>&#160;        str.<a class="code" href="a02449.html#af4ab07640de8950ca1f439bb34be4b53">bAnsi</a> = bAnsi;</div>
<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>&#160;        <span class="keywordflow">if</span> (bAnsi)</div>
<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>&#160;            str.<a class="code" href="a02449.html#ad355c4270a8465c419a47e3e68098cf1">MaximumLength</a> = cch;</div>
<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>&#160;        <span class="keywordflow">else</span></div>
<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>&#160;            str.<a class="code" href="a02449.html#ad355c4270a8465c419a47e3e68098cf1">MaximumLength</a> = cch * <span class="keyword">sizeof</span>(WCHAR);</div>
<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>&#160;        str.<a class="code" href="a02449.html#a372d153f4b52e56d80dfa3eba11db02b">Buffer</a> = (PVOID)pString;</div>
<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>&#160; </div>
<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a13013eafde664e46415de7ce33d84e90">NtUserGetListboxString</a>(</div>
<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>&#160;                hwnd,</div>
<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>&#160;                msg,</div>
<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>&#160;                wParam,</div>
<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>&#160;                &amp;str,</div>
<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>&#160;                xParam,</div>
<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>&#160;                xpfn,</div>
<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>&#160;                &amp;bNotString);</div>
<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>&#160; </div>
<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>&#160;        <span class="keywordflow">if</span> (bNotString) {</div>
<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>&#160;            <span class="keywordflow">if</span> (bAnsi) {</div>
<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>&#160;                retval = <span class="keyword">sizeof</span>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)/<span class="keyword">sizeof</span>(<a class="code" href="a00953.html#aebb9e13210d88d43e32e735ada43a425">CHAR</a>);    <span class="comment">// 4 CHARs just like win3.1</span></div>
<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>&#160;                retval = <span class="keyword">sizeof</span>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)/<span class="keyword">sizeof</span>(WCHAR);   <span class="comment">// 2 WCHARs</span></div>
<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>&#160;            }</div>
<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>&#160;        }</div>
<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>&#160; </div>
<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>&#160;}</div>
<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>&#160; </div>
<div class="line"><a name="l01360"></a><span class="lineno"><a class="line" href="a00257.html#a6115159a3df3344553311b49547d1c93"> 1360</a></span>&#160;HWND <a class="code" href="a03611.html#a6115159a3df3344553311b49547d1c93">_CreateWindowEx</a>(</div>
<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwExStyle,</div>
<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>&#160;    LPCTSTR pClassName,</div>
<div class="line"><a name="l01363"></a><span class="lineno"> 1363</span>&#160;    LPCTSTR pWindowName,</div>
<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwStyle,</div>
<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>&#160;    <span class="keywordtype">int</span> x,</div>
<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>&#160;    <span class="keywordtype">int</span> y,</div>
<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>&#160;    <span class="keywordtype">int</span> nWidth,</div>
<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>&#160;    <span class="keywordtype">int</span> nHeight,</div>
<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>&#160;    HWND hwndParent,</div>
<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>&#160;    HMENU hmenu,</div>
<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>&#160;    HANDLE hModule,</div>
<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>&#160;    LPVOID pParam,</div>
<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwFlags,</div>
<div class="line"><a name="l01374"></a><span class="lineno"> 1374</span>&#160;    LPDWORD pWOW)</div>
<div class="line"><a name="l01375"></a><span class="lineno"> 1375</span>&#160;{</div>
<div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>&#160;    <a class="code" href="a01873.html">LARGE_IN_STRING</a> strClassName;</div>
<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>&#160;    <a class="code" href="a02449.html">LARGE_STRING</a> strWindowName;</div>
<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>&#160;    <a class="code" href="a02449.html">PLARGE_STRING</a> pstrClassName;</div>
<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>&#160;    <a class="code" href="a02449.html">PLARGE_STRING</a> pstrWindowName;</div>
<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwExpWinVerAndFlags;</div>
<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>&#160; </div>
<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>&#160;<span class="comment">     * Make sure cleanup will work successfully</span></div>
<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>&#160;    strClassName.<a class="code" href="a01873.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>&#160; </div>
<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>&#160;<span class="comment">     * To be compatible with Chicago, we test the validity of</span></div>
<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>&#160;<span class="comment">     * the ExStyle bits and fail if any invalid bits are found.</span></div>
<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>&#160;<span class="comment">     * And for backward compatibilty with NT apps, we only fail for</span></div>
<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>&#160;<span class="comment">     * new apps (post NT 3.1).</span></div>
<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>&#160; </div>
<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>&#160;<span class="comment">// BOGUS</span></div>
<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>&#160; </div>
<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>&#160;    <span class="keywordflow">if</span> (dwExStyle &amp; 0x00000800L) {</div>
<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>&#160;        dwExStyle |= WS_EX_TOOLWINDOW;</div>
<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>&#160;        dwExStyle &amp;= 0xfffff7ffL;</div>
<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>&#160;    }</div>
<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>&#160; </div>
<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>&#160;    dwExpWinVerAndFlags = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)(WORD)GETEXPWINVER(hModule);</div>
<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>&#160;    <span class="keywordflow">if</span> ((dwExStyle &amp; ~WS_EX_VALID40) &amp;&amp; (dwExpWinVerAndFlags &gt;= VER40) ) {</div>
<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>&#160;        <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#afa5f32de88404289ec03cd2c0e61e94f">RIP_ERROR</a>, <span class="stringliteral">&quot;Invalid 4.0 ExStyle\n&quot;</span>);</div>
<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>&#160;        <span class="keywordflow">return</span> NULL;</div>
<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>&#160;    }</div>
<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>&#160;    {</div>
<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>&#160; </div>
<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>&#160;    BOOL fMDIchild = FALSE;</div>
<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>&#160;    MDICREATESTRUCT mdics;</div>
<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>&#160;    HMENU hSysMenu;</div>
<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>&#160; </div>
<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>&#160; </div>
<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>&#160;        <span class="keywordflow">if</span> ((fMDIchild = (BOOL)(dwExStyle &amp; WS_EX_MDICHILD))) {</div>
<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>&#160;            <a class="code" href="a01969.html">SHORTCREATE</a> sc;</div>
<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>&#160;            <a class="code" href="a02581.html">PWND</a> pwndParent;</div>
<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>&#160; </div>
<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>&#160;            pwndParent = <a class="code" href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a>(hwndParent);</div>
<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>&#160; </div>
<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>&#160;            <span class="keywordflow">if</span> ((pwndParent == NULL) || (GETFNID(pwndParent) != FNID_MDICLIENT)) {</div>
<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>&#160;                <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#afa5f32de88404289ec03cd2c0e61e94f">RIP_ERROR</a>, <span class="stringliteral">&quot;Invalid parent for MDI child window\n&quot;</span>);</div>
<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>&#160;                <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>&#160;            }</div>
<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>&#160; </div>
<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>&#160;            mdics.lParam  = (LPARAM)pParam;</div>
<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>&#160;            pParam = &amp;mdics;</div>
<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>&#160;            mdics.x = sc.<a class="code" href="a01969.html#a6150e0515f7202e2fb518f7206ed97dc">x</a> = x;</div>
<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>&#160;            mdics.y = sc.<a class="code" href="a01969.html#a0a2f84ed7838f07779ae24c5a9086d33">y</a> = y;</div>
<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>&#160;            mdics.cx = sc.<a class="code" href="a01969.html#af905a9989361d094908ad04e08f6429d">cx</a> = nWidth;</div>
<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>&#160;            mdics.cy = sc.<a class="code" href="a01969.html#ad36501a70b25e18bcf48dd6e03392305">cy</a> = nHeight;</div>
<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>&#160;            mdics.style = sc.<a class="code" href="a01969.html#aa68195bea010296f58019dd25038d440">style</a> = dwStyle;</div>
<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>&#160;            mdics.hOwner = hModule;</div>
<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>&#160;            mdics.szClass = pClassName;</div>
<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>&#160;            mdics.szTitle = pWindowName;</div>
<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>&#160; </div>
<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>&#160;            <span class="keywordflow">if</span> (!<a class="code" href="a00200.html#a0a5a542c4a21277b928ba4d9882958cb">CreateMDIChild</a>(&amp;sc, &amp;mdics, dwExpWinVerAndFlags, &amp;hSysMenu, pwndParent))</div>
<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>&#160;                <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>&#160; </div>
<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>&#160;            x = sc.<a class="code" href="a01969.html#a6150e0515f7202e2fb518f7206ed97dc">x</a>;</div>
<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>&#160;            y = sc.<a class="code" href="a01969.html#a0a2f84ed7838f07779ae24c5a9086d33">y</a>;</div>
<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>&#160;            nWidth = sc.<a class="code" href="a01969.html#af905a9989361d094908ad04e08f6429d">cx</a>;</div>
<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>&#160;            nHeight = sc.<a class="code" href="a01969.html#ad36501a70b25e18bcf48dd6e03392305">cy</a>;</div>
<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>&#160;            dwStyle = sc.<a class="code" href="a01969.html#aa68195bea010296f58019dd25038d440">style</a>;</div>
<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>&#160;            hmenu = sc.<a class="code" href="a01969.html#a309bf8d531939eba86ac4913eb0863d5">hMenu</a>;</div>
<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>&#160;        }</div>
<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>&#160; </div>
<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>&#160;<span class="comment">         * Set up class and window name.  If the window name is an</span></div>
<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>&#160;<span class="comment">         * ordinal, make it look like a string so the callback thunk</span></div>
<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>&#160;<span class="comment">         * will be able to ensure it is in the correct format.</span></div>
<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>&#160;        pstrWindowName = NULL;</div>
<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>&#160;        <span class="keywordflow">if</span> (dwFlags &amp; CW_FLAGS_ANSI) {</div>
<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>&#160;            dwExStyle = dwExStyle | WS_EX_ANSICREATOR;</div>
<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>&#160;            <span class="keywordflow">if</span> (HIWORD(pClassName)) {</div>
<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>&#160;                <a class="code" href="a00236.html#ad0e36443189989971c0753037677e13f">RtlCaptureLargeAnsiString</a>(&amp;strClassName,</div>
<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>&#160;                        (PCHAR)pClassName, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1, TRUE);</div>
<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>&#160;                pstrClassName = (<a class="code" href="a00365.html#aa453bfba298bc156c84c4a04a89b4436">PLARGE_STRING</a>)strClassName.<a class="code" href="a01873.html#a2c599c1a95e4ede6787c52ed1af8a59e">pstr</a>;</div>
<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>&#160;            } <span class="keywordflow">else</span></div>
<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>&#160;                pstrClassName = (<a class="code" href="a00365.html#aa453bfba298bc156c84c4a04a89b4436">PLARGE_STRING</a>)pClassName;</div>
<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>&#160; </div>
<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>&#160;            <span class="keywordflow">if</span> (pWindowName != NULL) {</div>
<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>&#160;                <span class="keywordflow">if</span> (*(PBYTE)pWindowName == 0xff) {</div>
<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>&#160;                    strWindowName.<a class="code" href="a02449.html#af4ab07640de8950ca1f439bb34be4b53">bAnsi</a> = TRUE;</div>
<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>&#160;                    strWindowName.<a class="code" href="a02449.html#a372d153f4b52e56d80dfa3eba11db02b">Buffer</a> = (PVOID)pWindowName;</div>
<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>&#160;                    strWindowName.<a class="code" href="a02449.html#abfb371817eb1c8f0d8a165bb2b798092">Length</a> = 3;</div>
<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>&#160;                    strWindowName.<a class="code" href="a02449.html#ad355c4270a8465c419a47e3e68098cf1">MaximumLength</a> = 3;</div>
<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>&#160;                } <span class="keywordflow">else</span></div>
<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>&#160;                    <a class="code" href="a00365.html#a47585c80672490cbfb5c1bdd5f4cc874">RtlInitLargeAnsiString</a>((<a class="code" href="a02453.html">PLARGE_ANSI_STRING</a>)&amp;strWindowName,</div>
<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>&#160;                            (LPSTR)pWindowName, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>&#160;                pstrWindowName = &amp;strWindowName;</div>
<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>&#160;            }</div>
<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>&#160;            <span class="keywordflow">if</span> (HIWORD(pClassName)) {</div>
<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>&#160;                <a class="code" href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a>(</div>
<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>&#160;                        (<a class="code" href="a02457.html">PLARGE_UNICODE_STRING</a>)&amp;strClassName.<a class="code" href="a01873.html#a9a294eec7eefc4d18c25578b8e585472">strCapture</a>,</div>
<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>&#160;                        pClassName, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>&#160;                pstrClassName = (<a class="code" href="a00365.html#aa453bfba298bc156c84c4a04a89b4436">PLARGE_STRING</a>)&amp;strClassName.<a class="code" href="a01873.html#a9a294eec7eefc4d18c25578b8e585472">strCapture</a>;</div>
<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>&#160;            } <span class="keywordflow">else</span></div>
<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>&#160;                pstrClassName = (<a class="code" href="a00365.html#aa453bfba298bc156c84c4a04a89b4436">PLARGE_STRING</a>)pClassName;</div>
<div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>&#160; </div>
<div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>&#160;            <span class="keywordflow">if</span> (pWindowName != NULL) {</div>
<div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>&#160;                <span class="keywordflow">if</span> (pWindowName != NULL &amp;&amp;</div>
<div class="line"><a name="l01484"></a><span class="lineno"> 1484</span>&#160;                     *(PWORD)pWindowName == 0xffff) {</div>
<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span>&#160;                    strWindowName.<a class="code" href="a02449.html#af4ab07640de8950ca1f439bb34be4b53">bAnsi</a> = FALSE;</div>
<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>&#160;                    strWindowName.<a class="code" href="a02449.html#a372d153f4b52e56d80dfa3eba11db02b">Buffer</a> = (PVOID)pWindowName;</div>
<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>&#160;                    strWindowName.<a class="code" href="a02449.html#abfb371817eb1c8f0d8a165bb2b798092">Length</a> = 4;</div>
<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>&#160;                    strWindowName.<a class="code" href="a02449.html#ad355c4270a8465c419a47e3e68098cf1">MaximumLength</a> = 4;</div>
<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>&#160;                } <span class="keywordflow">else</span></div>
<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>&#160;                    <a class="code" href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a>((<a class="code" href="a02457.html">PLARGE_UNICODE_STRING</a>)&amp;strWindowName,</div>
<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>&#160;                            pWindowName, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>&#160;                pstrWindowName = &amp;strWindowName;</div>
<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>&#160;            }</div>
<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>&#160;        }</div>
<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>&#160;        <span class="keywordflow">if</span> (dwFlags &amp; CW_FLAGS_DIFFHMOD) {</div>
<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>&#160;            dwExpWinVerAndFlags |= CW_FLAGS_DIFFHMOD;</div>
<div class="line"><a name="l01497"></a><span class="lineno"> 1497</span>&#160;        }</div>
<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>&#160; </div>
<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a902413da8fe2f87afa282e7b603521a0">NtUserCreateWindowEx</a>(</div>
<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>&#160;                dwExStyle,</div>
<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>&#160;                pstrClassName,</div>
<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>&#160;                pstrWindowName,</div>
<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>&#160;                dwStyle,</div>
<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>&#160;                x,</div>
<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>&#160;                y,</div>
<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>&#160;                nWidth,</div>
<div class="line"><a name="l01507"></a><span class="lineno"> 1507</span>&#160;                nHeight,</div>
<div class="line"><a name="l01508"></a><span class="lineno"> 1508</span>&#160;                hwndParent,</div>
<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>&#160;                hmenu,</div>
<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>&#160;                hModule,</div>
<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>&#160;                pParam,</div>
<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>&#160;                dwExpWinVerAndFlags,</div>
<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>&#160;                pWOW);</div>
<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>&#160; </div>
<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>&#160;    <span class="comment">// If this is an MDI child, we need to do some more to complete the</span></div>
<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>&#160;    <span class="comment">// process of creating an MDI child.</span></div>
<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>&#160;    <span class="keywordflow">if</span> (retval &amp;&amp; fMDIchild) {</div>
<div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>&#160;        <a class="code" href="a00200.html#aeb80a263a1795a525abe1f4b2df48941">MDICompleteChildCreation</a>((HWND)retval, hSysMenu, ((dwStyle &amp; WS_VISIBLE) != 0L), (BOOL)((dwStyle &amp; WS_DISABLED)!= 0L));</div>
<div class="line"><a name="l01519"></a><span class="lineno"> 1519</span>&#160;    }</div>
<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>&#160; </div>
<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>&#160; </div>
<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>&#160;    <a class="code" href="a00359.html#ae80cae7750cd1854ec0f9cfa717e7cd6">CLEANUPLPSTRW</a>(strClassName);</div>
<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(HWND);</div>
<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>&#160;    }</div>
<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>&#160;}</div>
<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>&#160; </div>
<div class="line"><a name="l01528"></a><span class="lineno"><a class="line" href="a03611.html#a231fdf82918c11fa7049f9485fc1fb06"> 1528</a></span>&#160;HKL <a class="code" href="a03611.html#a231fdf82918c11fa7049f9485fc1fb06">_LoadKeyboardLayoutEx</a>(</div>
<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>&#160;    HANDLE hFile,</div>
<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> offTable,</div>
<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>&#160;    HKL hkl,</div>
<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>&#160;    LPCTSTR pwszKL,</div>
<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> KbdInputLocale,</div>
<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> Flags)</div>
<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>&#160;{</div>
<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a> strKL;</div>
<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>&#160; </div>
<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>&#160;<span class="comment">     * Make sure cleanup will work successfully</span></div>
<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>&#160;    strKL.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>&#160; </div>
<div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>&#160; </div>
<div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>&#160;        <a class="code" href="a00359.html#a62e2c66095c7405ba82d1c9aa13b74c5">FIRSTCOPYLPWSTR</a>(&amp;strKL, pwszKL);</div>
<div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>&#160; </div>
<div class="line"><a name="l01547"></a><span class="lineno"> 1547</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#af4d1913a236addada637eed787bcd56a">NtUserLoadKeyboardLayoutEx</a>(</div>
<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>&#160;                hFile,</div>
<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span>&#160;                offTable,</div>
<div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>&#160;                hkl,</div>
<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>&#160;                strKL.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>,</div>
<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>&#160;                KbdInputLocale,</div>
<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>&#160;                Flags);</div>
<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>&#160; </div>
<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>&#160;    <a class="code" href="a00359.html#a1cd8eaaec48c11cb1d5a0f629c9621bf">CLEANUPLPWSTR</a>(strKL);</div>
<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(HKL);</div>
<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>&#160;}</div>
<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>&#160; </div>
<div class="line"><a name="l01560"></a><span class="lineno"><a class="line" href="a03611.html#a2af1fea76a3d4039e988f3b3cb376be8"> 1560</a></span>&#160;<span class="keywordtype">int</span> <a class="code" href="a03611.html#a2af1fea76a3d4039e988f3b3cb376be8">GetKeyboardLayoutList</a>(</div>
<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>&#160;    <span class="keywordtype">int</span> nItems,</div>
<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>&#160;    HKL *lpBuff)</div>
<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>&#160;{</div>
<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>&#160; </div>
<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>&#160;        <span class="keywordflow">if</span> (!lpBuff) {</div>
<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>&#160;            nItems = 0;</div>
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>&#160;        }</div>
<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>&#160; </div>
<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#aa8c546837483943962e5910f1fbf86be">NtUserGetKeyboardLayoutList</a>(nItems, lpBuff);</div>
<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>&#160; </div>
<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<span class="keywordtype">int</span>);</div>
<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>&#160;}</div>
<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>&#160; </div>
<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>&#160;<span class="comment"> * Message thunks</span></div>
<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l01579"></a><span class="lineno"><a class="line" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1"> 1579</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnINWPARAMCHAR)</div>
<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>&#160;{</div>
<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>&#160; </div>
<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>&#160;<span class="comment">         * The server always expects the characters to be unicode so</span></div>
<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>&#160;<span class="comment">         * if this was generated from an ANSI routine convert it to Unicode</span></div>
<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>&#160;        <span class="keywordflow">if</span> (bAnsi) {</div>
<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>&#160;            <span class="keywordflow">if</span> (msg == WM_CHARTOITEM || msg == WM_MENUCHAR) {</div>
<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>&#160;                <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwT = wParam &amp; 0xFFFF;                <span class="comment">// mask of caret pos</span></div>
<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>&#160;                <a class="code" href="a00365.html#a422181d432442f3ca223ed68ff5585fb">RtlMBMessageWParamCharToWCS</a>(msg, &amp;dwT);     <span class="comment">// convert key portion</span></div>
<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>&#160;                <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>(HIWORD(dwT) == 0);</div>
<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>&#160;                wParam = MAKELONG(LOWORD(dwT),HIWORD(wParam));  <span class="comment">// rebuild pos &amp; key wParam</span></div>
<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>&#160;                <a class="code" href="a00365.html#a422181d432442f3ca223ed68ff5585fb">RtlMBMessageWParamCharToWCS</a>(msg, &amp;wParam);</div>
<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>&#160;            }</div>
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>&#160;        }</div>
<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>&#160; </div>
<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#ab3ac437086ab697c26bcfe5fe88e9eaf">NtUserfnDWORD</a>(</div>
<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>&#160;                hwnd,</div>
<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>&#160;                msg,</div>
<div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>&#160;                wParam,</div>
<div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>&#160;                lParam,</div>
<div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>&#160;                xParam,</div>
<div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span>&#160;                bAnsi);</div>
<div class="line"><a name="l01606"></a><span class="lineno"> 1606</span>&#160; </div>
<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>&#160;}</div>
<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>&#160; </div>
<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>&#160;<span class="preprocessor">#ifdef FE_SB // fnINWPARAMDBCSCHAR()</span></div>
<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnINWPARAMDBCSCHAR)</div>
<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>&#160;{</div>
<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>&#160; </div>
<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>&#160;<span class="comment">         * The server always expects the characters to be unicode so</span></div>
<div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>&#160;<span class="comment">         * if this was generated from an ANSI routine convert it to Unicode</span></div>
<div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>&#160;        if (bAnsi) {</div>
<div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>&#160; </div>
<div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>&#160;<span class="comment">             * Setup for DBCS Messaging..</span></div>
<div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>&#160;            BUILD_DBCS_MESSAGE_TO_SERVER_FROM_CLIENTA(msg,wParam,TRUE);</div>
<div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>&#160; </div>
<div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>&#160;<span class="comment">             * Convert DBCS/SBCS to Unicode...</span></div>
<div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l01630"></a><span class="lineno"> 1630</span>&#160;            <a class="code" href="a00365.html#a422181d432442f3ca223ed68ff5585fb">RtlMBMessageWParamCharToWCS</a>(msg, &amp;wParam);</div>
<div class="line"><a name="l01631"></a><span class="lineno"> 1631</span>&#160;        }</div>
<div class="line"><a name="l01632"></a><span class="lineno"> 1632</span>&#160; </div>
<div class="line"><a name="l01633"></a><span class="lineno"> 1633</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#ab3ac437086ab697c26bcfe5fe88e9eaf">NtUserfnDWORD</a>(</div>
<div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>&#160;                hwnd,</div>
<div class="line"><a name="l01635"></a><span class="lineno"> 1635</span>&#160;                msg,</div>
<div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>&#160;                wParam,</div>
<div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>&#160;                lParam,</div>
<div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>&#160;                xParam,</div>
<div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>&#160;                bAnsi);</div>
<div class="line"><a name="l01641"></a><span class="lineno"> 1641</span>&#160; </div>
<div class="line"><a name="l01642"></a><span class="lineno"> 1642</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01643"></a><span class="lineno"> 1643</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01644"></a><span class="lineno"> 1644</span>&#160;}</div>
<div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>&#160;<span class="preprocessor">#endif // FE_SB</span></div>
<div class="line"><a name="l01646"></a><span class="lineno"> 1646</span>&#160; </div>
<div class="line"><a name="l01647"></a><span class="lineno"><a class="line" href="a03611.html#a2d4d50177f027e9738340d0b94bc3d38"> 1647</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnCOPYGLOBALDATA)</div>
<div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>&#160;{</div>
<div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>&#160;    PBYTE pData;</div>
<div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>&#160; </div>
<div class="line"><a name="l01652"></a><span class="lineno"> 1652</span>&#160;        <span class="keywordflow">if</span> (wParam == 0) {</div>
<div class="line"><a name="l01653"></a><span class="lineno"> 1653</span>&#160;            <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l01654"></a><span class="lineno"> 1654</span>&#160;        }</div>
<div class="line"><a name="l01655"></a><span class="lineno"> 1655</span>&#160; </div>
<div class="line"><a name="l01656"></a><span class="lineno"> 1656</span>&#160;        USERGLOBALLOCK((HGLOBAL)lParam, pData);</div>
<div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a00dcbcd255ecdc7d3259a30dd0635da1">NtUserfnCOPYGLOBALDATA</a>(</div>
<div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>&#160;                hwnd,</div>
<div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>&#160;                msg,</div>
<div class="line"><a name="l01660"></a><span class="lineno"> 1660</span>&#160;                wParam,</div>
<div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>&#160;                (LONG)pData,</div>
<div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>&#160;                xParam,</div>
<div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>&#160;                bAnsi);</div>
<div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>&#160;        USERGLOBALUNLOCK((HGLOBAL)lParam);</div>
<div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>&#160;        UserGlobalFree((HGLOBAL)lParam);</div>
<div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>&#160;}</div>
<div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>&#160; </div>
<div class="line"><a name="l01671"></a><span class="lineno"><a class="line" href="a03611.html#a55fc330e4c8b4c89c473c9d14451f414"> 1671</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnPAINT)</div>
<div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>&#160;{</div>
<div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>&#160;    <span class="keywordflow">if</span> (wParam) {</div>
<div class="line"><a name="l01674"></a><span class="lineno"> 1674</span>&#160;        <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwT;</div>
<div class="line"><a name="l01675"></a><span class="lineno"> 1675</span>&#160; </div>
<div class="line"><a name="l01676"></a><span class="lineno"> 1676</span>&#160;        dwT = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)wParam;</div>
<div class="line"><a name="l01677"></a><span class="lineno"> 1677</span>&#160; </div>
<div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>&#160;        FIXUP_HANDLE((HDC)dwT);</div>
<div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>&#160; </div>
<div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>&#160;        <span class="keywordflow">if</span> (dwT) {</div>
<div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>&#160;            wParam = dwT;</div>
<div class="line"><a name="l01682"></a><span class="lineno"> 1682</span>&#160;        }</div>
<div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>&#160;    }</div>
<div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>&#160; </div>
<div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>&#160; </div>
<div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#ab3ac437086ab697c26bcfe5fe88e9eaf">NtUserfnDWORD</a>(</div>
<div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>&#160;                hwnd,</div>
<div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>&#160;                msg,</div>
<div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>&#160;                wParam,</div>
<div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>&#160;                lParam,</div>
<div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>&#160;                xParam,</div>
<div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>&#160;                bAnsi);</div>
<div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>&#160; </div>
<div class="line"><a name="l01696"></a><span class="lineno"> 1696</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01697"></a><span class="lineno"> 1697</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01698"></a><span class="lineno"> 1698</span>&#160;}</div>
<div class="line"><a name="l01699"></a><span class="lineno"> 1699</span>&#160; </div>
<div class="line"><a name="l01700"></a><span class="lineno"><a class="line" href="a03611.html#a284b471ddd3b07c859034b2337e54b38"> 1700</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnINPAINTCLIPBRD)</div>
<div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>&#160;{</div>
<div class="line"><a name="l01702"></a><span class="lineno"> 1702</span>&#160;    LPPAINTSTRUCT lpps;</div>
<div class="line"><a name="l01703"></a><span class="lineno"> 1703</span>&#160;    PAINTSTRUCT ps;</div>
<div class="line"><a name="l01704"></a><span class="lineno"> 1704</span>&#160;    HDC hdcr = (HDC)0;</div>
<div class="line"><a name="l01705"></a><span class="lineno"> 1705</span>&#160; </div>
<div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>&#160;    USERGLOBALLOCK((HGLOBAL)lParam, lpps);</div>
<div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>&#160;    <span class="keywordflow">if</span> (lpps) {</div>
<div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>&#160;        hdcr = lpps-&gt;hdc;</div>
<div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>&#160; </div>
<div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>&#160;        FIXUP_HANDLE(hdcr);</div>
<div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>&#160;    }</div>
<div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>&#160; </div>
<div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>&#160; </div>
<div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01716"></a><span class="lineno"> 1716</span>&#160;<span class="comment">         * Copy the paint structure over as is then grab a server DC</span></div>
<div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>&#160; </div>
<div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>&#160;        <span class="keywordflow">if</span> (lpps) {</div>
<div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>&#160;            ps = *lpps;</div>
<div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>&#160;            <span class="keywordflow">if</span> (!(ps.hdc = hdcr))</div>
<div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>&#160;                <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>(0);</div>
<div class="line"><a name="l01723"></a><span class="lineno"> 1723</span>&#160; </div>
<div class="line"><a name="l01724"></a><span class="lineno"> 1724</span>&#160;            retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a48925cef523f45bf7361df13d2349c90">NtUserfnINPAINTCLIPBRD</a>(</div>
<div class="line"><a name="l01725"></a><span class="lineno"> 1725</span>&#160;                    hwnd,</div>
<div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>&#160;                    msg,</div>
<div class="line"><a name="l01727"></a><span class="lineno"> 1727</span>&#160;                    wParam,</div>
<div class="line"><a name="l01728"></a><span class="lineno"> 1728</span>&#160;                    (LPARAM)&amp;ps,</div>
<div class="line"><a name="l01729"></a><span class="lineno"> 1729</span>&#160;                    xParam,</div>
<div class="line"><a name="l01730"></a><span class="lineno"> 1730</span>&#160;                    xpfnProc,</div>
<div class="line"><a name="l01731"></a><span class="lineno"> 1731</span>&#160;                bAnsi);</div>
<div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>&#160; </div>
<div class="line"><a name="l01733"></a><span class="lineno"> 1733</span>&#160;            USERGLOBALUNLOCK((HGLOBAL)lParam);</div>
<div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01735"></a><span class="lineno"> 1735</span>&#160;            <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>(0);</div>
<div class="line"><a name="l01736"></a><span class="lineno"> 1736</span>&#160;        }</div>
<div class="line"><a name="l01737"></a><span class="lineno"> 1737</span>&#160; </div>
<div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01739"></a><span class="lineno"> 1739</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01740"></a><span class="lineno"> 1740</span>&#160;}</div>
<div class="line"><a name="l01741"></a><span class="lineno"> 1741</span>&#160; </div>
<div class="line"><a name="l01742"></a><span class="lineno"><a class="line" href="a03611.html#a9dd2187ec00cc45319c059c4432f2764"> 1742</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnINSIZECLIPBRD)</div>
<div class="line"><a name="l01743"></a><span class="lineno"> 1743</span>&#160;{</div>
<div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>&#160;    LPRECT lprc;</div>
<div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01746"></a><span class="lineno"> 1746</span>&#160; </div>
<div class="line"><a name="l01747"></a><span class="lineno"> 1747</span>&#160;        USERGLOBALLOCK((HGLOBAL)lParam, lprc);</div>
<div class="line"><a name="l01748"></a><span class="lineno"> 1748</span>&#160;        <span class="keywordflow">if</span> (lprc) {</div>
<div class="line"><a name="l01749"></a><span class="lineno"> 1749</span>&#160;            retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a064e0422b0e79b43ba2c6caa1106321f">NtUserfnINSIZECLIPBRD</a>(</div>
<div class="line"><a name="l01750"></a><span class="lineno"> 1750</span>&#160;                    hwnd,</div>
<div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>&#160;                    msg,</div>
<div class="line"><a name="l01752"></a><span class="lineno"> 1752</span>&#160;                    wParam,</div>
<div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>&#160;                    (LPARAM)lprc,</div>
<div class="line"><a name="l01754"></a><span class="lineno"> 1754</span>&#160;                    xParam,</div>
<div class="line"><a name="l01755"></a><span class="lineno"> 1755</span>&#160;                    xpfnProc,</div>
<div class="line"><a name="l01756"></a><span class="lineno"> 1756</span>&#160;                bAnsi);</div>
<div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>&#160;            USERGLOBALUNLOCK((HGLOBAL)lParam);</div>
<div class="line"><a name="l01758"></a><span class="lineno"> 1758</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>&#160;            <a class="code" href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a>(0);</div>
<div class="line"><a name="l01760"></a><span class="lineno"> 1760</span>&#160;        }</div>
<div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>&#160; </div>
<div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>&#160;}</div>
<div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>&#160; </div>
<div class="line"><a name="l01766"></a><span class="lineno"><a class="line" href="a03611.html#a3d1082c42e5eb881bc0540e8efe356af"> 1766</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnINLPCREATESTRUCT)</div>
<div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>&#160;{</div>
<div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>&#160; </div>
<div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a38b3d677d935dc83a650cbc7be2be3d7">NtUserfnINLPCREATESTRUCT</a>(</div>
<div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>&#160;                hwnd,</div>
<div class="line"><a name="l01772"></a><span class="lineno"> 1772</span>&#160;                msg,</div>
<div class="line"><a name="l01773"></a><span class="lineno"> 1773</span>&#160;                wParam,</div>
<div class="line"><a name="l01774"></a><span class="lineno"> 1774</span>&#160;                lParam,</div>
<div class="line"><a name="l01775"></a><span class="lineno"> 1775</span>&#160;                xParam,</div>
<div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l01777"></a><span class="lineno"> 1777</span>&#160;                bAnsi);</div>
<div class="line"><a name="l01778"></a><span class="lineno"> 1778</span>&#160; </div>
<div class="line"><a name="l01779"></a><span class="lineno"> 1779</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01780"></a><span class="lineno"> 1780</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>&#160;}</div>
<div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>&#160; </div>
<div class="line"><a name="l01783"></a><span class="lineno"><a class="line" href="a03611.html#aacb20720b797115e8ef31caa2e77aeb4"> 1783</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnINLPMDICREATESTRUCT)</div>
<div class="line"><a name="l01784"></a><span class="lineno"> 1784</span>&#160;{</div>
<div class="line"><a name="l01785"></a><span class="lineno"> 1785</span>&#160;    LPMDICREATESTRUCT pmdics = (LPMDICREATESTRUCT)lParam;</div>
<div class="line"><a name="l01786"></a><span class="lineno"> 1786</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a> strClass;</div>
<div class="line"><a name="l01787"></a><span class="lineno"> 1787</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a> strTitle;</div>
<div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>&#160; </div>
<div class="line"><a name="l01789"></a><span class="lineno"> 1789</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01790"></a><span class="lineno"> 1790</span>&#160;<span class="comment">     * Make sure cleanup will work successfully</span></div>
<div class="line"><a name="l01791"></a><span class="lineno"> 1791</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01792"></a><span class="lineno"> 1792</span>&#160;    strClass.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l01793"></a><span class="lineno"> 1793</span>&#160;    strTitle.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>&#160; </div>
<div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01796"></a><span class="lineno"> 1796</span>&#160; </div>
<div class="line"><a name="l01797"></a><span class="lineno"> 1797</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l01798"></a><span class="lineno"> 1798</span>&#160;<span class="comment">         * wParam isn&#39;t used... but we use it from the client to the server</span></div>
<div class="line"><a name="l01799"></a><span class="lineno"> 1799</span>&#160;<span class="comment">         * to pass dwExpWinVer.</span></div>
<div class="line"><a name="l01800"></a><span class="lineno"> 1800</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l01801"></a><span class="lineno"> 1801</span>&#160;        wParam = GETEXPWINVER(pmdics-&gt;hOwner);</div>
<div class="line"><a name="l01802"></a><span class="lineno"> 1802</span>&#160; </div>
<div class="line"><a name="l01803"></a><span class="lineno"> 1803</span>&#160;        <span class="keywordflow">if</span> (bAnsi) {</div>
<div class="line"><a name="l01804"></a><span class="lineno"> 1804</span>&#160;            <a class="code" href="a00359.html#a97580e2e850a6e8f8f4a72575be9a7b5">COPYLPSTRIDW</a>(&amp;strClass, pmdics-&gt;szClass);</div>
<div class="line"><a name="l01805"></a><span class="lineno"> 1805</span>&#160;            <a class="code" href="a00359.html#a09dcc56c95999f42873a15a2c33dd08d">COPYLPSTROPTW</a>(&amp;strTitle, pmdics-&gt;szTitle);</div>
<div class="line"><a name="l01806"></a><span class="lineno"> 1806</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>&#160;            <a class="code" href="a00359.html#a7a523494593d00654f7130108ba58753">COPYLPWSTRID</a>(&amp;strClass, pmdics-&gt;szClass);</div>
<div class="line"><a name="l01808"></a><span class="lineno"> 1808</span>&#160;            <a class="code" href="a00359.html#abac5d7aa2e60b2f7c6ebe22f1f07728c">COPYLPWSTROPT</a>(&amp;strTitle, pmdics-&gt;szTitle);</div>
<div class="line"><a name="l01809"></a><span class="lineno"> 1809</span>&#160;        }</div>
<div class="line"><a name="l01810"></a><span class="lineno"> 1810</span>&#160; </div>
<div class="line"><a name="l01811"></a><span class="lineno"> 1811</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#add4262781da1b05fc492b478a0fcdef0">NtUserfnINLPMDICREATESTRUCT</a>(</div>
<div class="line"><a name="l01812"></a><span class="lineno"> 1812</span>&#160;                hwnd,</div>
<div class="line"><a name="l01813"></a><span class="lineno"> 1813</span>&#160;                msg,</div>
<div class="line"><a name="l01814"></a><span class="lineno"> 1814</span>&#160;                wParam,</div>
<div class="line"><a name="l01815"></a><span class="lineno"> 1815</span>&#160;                lParam,</div>
<div class="line"><a name="l01816"></a><span class="lineno"> 1816</span>&#160;                strClass.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>,</div>
<div class="line"><a name="l01817"></a><span class="lineno"> 1817</span>&#160;                strTitle.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>,</div>
<div class="line"><a name="l01818"></a><span class="lineno"> 1818</span>&#160;                xParam,</div>
<div class="line"><a name="l01819"></a><span class="lineno"> 1819</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l01820"></a><span class="lineno"> 1820</span>&#160;                bAnsi);</div>
<div class="line"><a name="l01821"></a><span class="lineno"> 1821</span>&#160; </div>
<div class="line"><a name="l01822"></a><span class="lineno"> 1822</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>&#160;    <a class="code" href="a00359.html#ae80cae7750cd1854ec0f9cfa717e7cd6">CLEANUPLPSTRW</a>(strClass);</div>
<div class="line"><a name="l01824"></a><span class="lineno"> 1824</span>&#160;    <a class="code" href="a00359.html#ae80cae7750cd1854ec0f9cfa717e7cd6">CLEANUPLPSTRW</a>(strTitle);</div>
<div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01826"></a><span class="lineno"> 1826</span>&#160;}</div>
<div class="line"><a name="l01827"></a><span class="lineno"> 1827</span>&#160; </div>
<div class="line"><a name="l01828"></a><span class="lineno"><a class="line" href="a03611.html#ab4cb655ad489e12c56c9eff3795ae901"> 1828</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnINSTRING)</div>
<div class="line"><a name="l01829"></a><span class="lineno"> 1829</span>&#160;{</div>
<div class="line"><a name="l01830"></a><span class="lineno"> 1830</span>&#160;    LPTSTR pstr = (LPTSTR)lParam;</div>
<div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>&#160;    <a class="code" href="a02449.html">LARGE_STRING</a> str;</div>
<div class="line"><a name="l01832"></a><span class="lineno"> 1832</span>&#160; </div>
<div class="line"><a name="l01833"></a><span class="lineno"> 1833</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01834"></a><span class="lineno"> 1834</span>&#160; </div>
<div class="line"><a name="l01835"></a><span class="lineno"> 1835</span>&#160;        <span class="keywordflow">if</span> (bAnsi) {</div>
<div class="line"><a name="l01836"></a><span class="lineno"> 1836</span>&#160;            <a class="code" href="a00365.html#a47585c80672490cbfb5c1bdd5f4cc874">RtlInitLargeAnsiString</a>((<a class="code" href="a02453.html">PLARGE_ANSI_STRING</a>)&amp;str,</div>
<div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>&#160;                    (LPSTR)pstr, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l01838"></a><span class="lineno"> 1838</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>&#160;            <a class="code" href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a>((<a class="code" href="a02457.html">PLARGE_UNICODE_STRING</a>)&amp;str,</div>
<div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>&#160;                    pstr, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>&#160;        }</div>
<div class="line"><a name="l01842"></a><span class="lineno"> 1842</span>&#160; </div>
<div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a0558e20d51a993e0aa6c6b91fe05899d">NtUserfnINSTRING</a>(</div>
<div class="line"><a name="l01844"></a><span class="lineno"> 1844</span>&#160;                hwnd,</div>
<div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>&#160;                msg,</div>
<div class="line"><a name="l01846"></a><span class="lineno"> 1846</span>&#160;                wParam,</div>
<div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>&#160;                (LPARAM)&amp;str,</div>
<div class="line"><a name="l01848"></a><span class="lineno"> 1848</span>&#160;                xParam,</div>
<div class="line"><a name="l01849"></a><span class="lineno"> 1849</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l01850"></a><span class="lineno"> 1850</span>&#160;                bAnsi);</div>
<div class="line"><a name="l01851"></a><span class="lineno"> 1851</span>&#160; </div>
<div class="line"><a name="l01852"></a><span class="lineno"> 1852</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01853"></a><span class="lineno"> 1853</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01854"></a><span class="lineno"> 1854</span>&#160;}</div>
<div class="line"><a name="l01855"></a><span class="lineno"> 1855</span>&#160; </div>
<div class="line"><a name="l01856"></a><span class="lineno"><a class="line" href="a03611.html#abe01fbd6764677184816036dd61d4b46"> 1856</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnINSTRINGNULL)</div>
<div class="line"><a name="l01857"></a><span class="lineno"> 1857</span>&#160;{</div>
<div class="line"><a name="l01858"></a><span class="lineno"> 1858</span>&#160;    LPTSTR pstr = (LPTSTR)lParam;</div>
<div class="line"><a name="l01859"></a><span class="lineno"> 1859</span>&#160;    <a class="code" href="a02449.html">LARGE_STRING</a> str;</div>
<div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>&#160; </div>
<div class="line"><a name="l01861"></a><span class="lineno"> 1861</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>&#160; </div>
<div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>&#160;        <span class="keywordflow">if</span> (pstr) {</div>
<div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>&#160;            <span class="keywordflow">if</span> (bAnsi) {</div>
<div class="line"><a name="l01865"></a><span class="lineno"> 1865</span>&#160;                <a class="code" href="a00365.html#a47585c80672490cbfb5c1bdd5f4cc874">RtlInitLargeAnsiString</a>((<a class="code" href="a02453.html">PLARGE_ANSI_STRING</a>)&amp;str,</div>
<div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>&#160;                        (LPSTR)pstr, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01868"></a><span class="lineno"> 1868</span>&#160;                <a class="code" href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a>((<a class="code" href="a02457.html">PLARGE_UNICODE_STRING</a>)&amp;str,</div>
<div class="line"><a name="l01869"></a><span class="lineno"> 1869</span>&#160;                        pstr, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l01870"></a><span class="lineno"> 1870</span>&#160;            }</div>
<div class="line"><a name="l01871"></a><span class="lineno"> 1871</span>&#160;            pstr = (LPTSTR)&amp;str;</div>
<div class="line"><a name="l01872"></a><span class="lineno"> 1872</span>&#160;        }</div>
<div class="line"><a name="l01873"></a><span class="lineno"> 1873</span>&#160; </div>
<div class="line"><a name="l01874"></a><span class="lineno"> 1874</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a8569d1a3edb3ad8ac54214d988442926">NtUserfnINSTRINGNULL</a>(</div>
<div class="line"><a name="l01875"></a><span class="lineno"> 1875</span>&#160;                hwnd,</div>
<div class="line"><a name="l01876"></a><span class="lineno"> 1876</span>&#160;                msg,</div>
<div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>&#160;                wParam,</div>
<div class="line"><a name="l01878"></a><span class="lineno"> 1878</span>&#160;                (LPARAM)pstr,</div>
<div class="line"><a name="l01879"></a><span class="lineno"> 1879</span>&#160;                xParam,</div>
<div class="line"><a name="l01880"></a><span class="lineno"> 1880</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l01881"></a><span class="lineno"> 1881</span>&#160;                bAnsi);</div>
<div class="line"><a name="l01882"></a><span class="lineno"> 1882</span>&#160; </div>
<div class="line"><a name="l01883"></a><span class="lineno"> 1883</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01885"></a><span class="lineno"> 1885</span>&#160;}</div>
<div class="line"><a name="l01886"></a><span class="lineno"> 1886</span>&#160; </div>
<div class="line"><a name="l01887"></a><span class="lineno"><a class="line" href="a03611.html#ad71d689e5c476b338889faf599d2878b"> 1887</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnINDEVICECHANGE)</div>
<div class="line"><a name="l01888"></a><span class="lineno"> 1888</span>&#160;{</div>
<div class="line"><a name="l01889"></a><span class="lineno"> 1889</span>&#160;    VOID *pVar = (VOID *)lParam;</div>
<div class="line"><a name="l01890"></a><span class="lineno"> 1890</span>&#160;    LPTSTR pstr = (LPTSTR)lParam;</div>
<div class="line"><a name="l01891"></a><span class="lineno"> 1891</span>&#160;    BOOL fString = (BOOL)((wParam &amp; 0xc000) == 0xc000);</div>
<div class="line"><a name="l01892"></a><span class="lineno"> 1892</span>&#160;    <a class="code" href="a02449.html">LARGE_STRING</a> str;</div>
<div class="line"><a name="l01893"></a><span class="lineno"> 1893</span>&#160; </div>
<div class="line"><a name="l01894"></a><span class="lineno"> 1894</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>&#160; </div>
<div class="line"><a name="l01896"></a><span class="lineno"> 1896</span>&#160;        <span class="keywordflow">if</span> (pstr &amp;&amp; fString) {</div>
<div class="line"><a name="l01897"></a><span class="lineno"> 1897</span>&#160;            <span class="keywordflow">if</span> (bAnsi) {</div>
<div class="line"><a name="l01898"></a><span class="lineno"> 1898</span>&#160;                <a class="code" href="a00365.html#a47585c80672490cbfb5c1bdd5f4cc874">RtlInitLargeAnsiString</a>((<a class="code" href="a02453.html">PLARGE_ANSI_STRING</a>)&amp;str,</div>
<div class="line"><a name="l01899"></a><span class="lineno"> 1899</span>&#160;                        (LPSTR)pstr, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l01900"></a><span class="lineno"> 1900</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l01901"></a><span class="lineno"> 1901</span>&#160;                <a class="code" href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a>((<a class="code" href="a02457.html">PLARGE_UNICODE_STRING</a>)&amp;str,</div>
<div class="line"><a name="l01902"></a><span class="lineno"> 1902</span>&#160;                        pstr, (<a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a>)-1);</div>
<div class="line"><a name="l01903"></a><span class="lineno"> 1903</span>&#160;            }</div>
<div class="line"><a name="l01904"></a><span class="lineno"> 1904</span>&#160;            pVar = (VOID *)(&amp;str);</div>
<div class="line"><a name="l01905"></a><span class="lineno"> 1905</span>&#160;        }</div>
<div class="line"><a name="l01906"></a><span class="lineno"> 1906</span>&#160; </div>
<div class="line"><a name="l01907"></a><span class="lineno"> 1907</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#aefa525621cffc95b8c4700d3e7378341">NtUserfnINDEVICECHANGE</a>(</div>
<div class="line"><a name="l01908"></a><span class="lineno"> 1908</span>&#160;                hwnd,</div>
<div class="line"><a name="l01909"></a><span class="lineno"> 1909</span>&#160;                msg,</div>
<div class="line"><a name="l01910"></a><span class="lineno"> 1910</span>&#160;                wParam,</div>
<div class="line"><a name="l01911"></a><span class="lineno"> 1911</span>&#160;                (LPARAM)(pVar),</div>
<div class="line"><a name="l01912"></a><span class="lineno"> 1912</span>&#160;                xParam,</div>
<div class="line"><a name="l01913"></a><span class="lineno"> 1913</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l01914"></a><span class="lineno"> 1914</span>&#160;                bAnsi);</div>
<div class="line"><a name="l01915"></a><span class="lineno"> 1915</span>&#160; </div>
<div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01917"></a><span class="lineno"> 1917</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01918"></a><span class="lineno"> 1918</span>&#160;}</div>
<div class="line"><a name="l01919"></a><span class="lineno"> 1919</span>&#160; </div>
<div class="line"><a name="l01920"></a><span class="lineno"><a class="line" href="a03611.html#a4c8d902098b375be082b15ded2c59561"> 1920</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnINLPDRAWITEMSTRUCT)</div>
<div class="line"><a name="l01921"></a><span class="lineno"> 1921</span>&#160;{</div>
<div class="line"><a name="l01922"></a><span class="lineno"> 1922</span>&#160;    LPDRAWITEMSTRUCT pdrawitemstruct = (LPDRAWITEMSTRUCT)lParam;</div>
<div class="line"><a name="l01923"></a><span class="lineno"> 1923</span>&#160;    DRAWITEMSTRUCT drawitemstruct;</div>
<div class="line"><a name="l01924"></a><span class="lineno"> 1924</span>&#160;    HDC hdcr;</div>
<div class="line"><a name="l01925"></a><span class="lineno"> 1925</span>&#160; </div>
<div class="line"><a name="l01926"></a><span class="lineno"> 1926</span>&#160;    hdcr = pdrawitemstruct-&gt;hDC;</div>
<div class="line"><a name="l01927"></a><span class="lineno"> 1927</span>&#160;    FIXUP_HANDLE(hdcr);</div>
<div class="line"><a name="l01928"></a><span class="lineno"> 1928</span>&#160; </div>
<div class="line"><a name="l01929"></a><span class="lineno"> 1929</span>&#160;    <span class="keywordflow">if</span> (hdcr == (HDC)0)</div>
<div class="line"><a name="l01930"></a><span class="lineno"> 1930</span>&#160;        <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l01931"></a><span class="lineno"> 1931</span>&#160; </div>
<div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01933"></a><span class="lineno"> 1933</span>&#160; </div>
<div class="line"><a name="l01934"></a><span class="lineno"> 1934</span>&#160;        drawitemstruct = *pdrawitemstruct;</div>
<div class="line"><a name="l01935"></a><span class="lineno"> 1935</span>&#160;        drawitemstruct.hDC = hdcr;</div>
<div class="line"><a name="l01936"></a><span class="lineno"> 1936</span>&#160; </div>
<div class="line"><a name="l01937"></a><span class="lineno"> 1937</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#a8bcb6f70bda654bb485f35633004e318">NtUserfnINLPDRAWITEMSTRUCT</a>(</div>
<div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>&#160;                hwnd,</div>
<div class="line"><a name="l01939"></a><span class="lineno"> 1939</span>&#160;                msg,</div>
<div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>&#160;                wParam,</div>
<div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>&#160;                (LPARAM)&amp;drawitemstruct,</div>
<div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>&#160;                xParam,</div>
<div class="line"><a name="l01943"></a><span class="lineno"> 1943</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>&#160;                bAnsi);</div>
<div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>&#160; </div>
<div class="line"><a name="l01946"></a><span class="lineno"> 1946</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>&#160;}</div>
<div class="line"><a name="l01949"></a><span class="lineno"> 1949</span>&#160; </div>
<div class="line"><a name="l01950"></a><span class="lineno"><a class="line" href="a03611.html#a92a79e73cff3852caf74204aa055eb7d"> 1950</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnWMCTLCOLOR)</div>
<div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>&#160;{</div>
<div class="line"><a name="l01952"></a><span class="lineno"> 1952</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>&#160;<span class="comment">     * In case the app sets some attrs first flush them to the server because</span></div>
<div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>&#160;<span class="comment">     * later we copy the server attrs back to the client side</span></div>
<div class="line"><a name="l01955"></a><span class="lineno"> 1955</span>&#160;<span class="comment">     * Compute Associates Simply Accounting does this</span></div>
<div class="line"><a name="l01956"></a><span class="lineno"> 1956</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l01957"></a><span class="lineno"> 1957</span>&#160;    HDC hdcr = (HDC)wParam;</div>
<div class="line"><a name="l01958"></a><span class="lineno"> 1958</span>&#160; </div>
<div class="line"><a name="l01959"></a><span class="lineno"> 1959</span>&#160;    FIXUP_HANDLE (hdcr);</div>
<div class="line"><a name="l01960"></a><span class="lineno"> 1960</span>&#160; </div>
<div class="line"><a name="l01961"></a><span class="lineno"> 1961</span>&#160;    <span class="keywordflow">if</span> (hdcr == (HDC)0)</div>
<div class="line"><a name="l01962"></a><span class="lineno"> 1962</span>&#160;        <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>&#160; </div>
<div class="line"><a name="l01964"></a><span class="lineno"> 1964</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01965"></a><span class="lineno"> 1965</span>&#160; </div>
<div class="line"><a name="l01966"></a><span class="lineno"> 1966</span>&#160;    <span class="comment">// convert the local dc to an engine dc.  Also add the dc to the quick lookup</span></div>
<div class="line"><a name="l01967"></a><span class="lineno"> 1967</span>&#160;    <span class="comment">// link so it is easy for a server handle to be converted to a client handle.</span></div>
<div class="line"><a name="l01968"></a><span class="lineno"> 1968</span>&#160;    <span class="comment">// Don&#39;t forget to remove this link at the end of this call in order to keep</span></div>
<div class="line"><a name="l01969"></a><span class="lineno"> 1969</span>&#160;    <span class="comment">// the list as short as possible.  Usually no more than one long.</span></div>
<div class="line"><a name="l01970"></a><span class="lineno"> 1970</span>&#160; </div>
<div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>&#160;        wParam = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)hdcr;</div>
<div class="line"><a name="l01972"></a><span class="lineno"> 1972</span>&#160; </div>
<div class="line"><a name="l01973"></a><span class="lineno"> 1973</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#ab3ac437086ab697c26bcfe5fe88e9eaf">NtUserfnDWORD</a>(</div>
<div class="line"><a name="l01974"></a><span class="lineno"> 1974</span>&#160;                hwnd,</div>
<div class="line"><a name="l01975"></a><span class="lineno"> 1975</span>&#160;                msg,</div>
<div class="line"><a name="l01976"></a><span class="lineno"> 1976</span>&#160;                wParam,</div>
<div class="line"><a name="l01977"></a><span class="lineno"> 1977</span>&#160;                lParam,</div>
<div class="line"><a name="l01978"></a><span class="lineno"> 1978</span>&#160;                xParam,</div>
<div class="line"><a name="l01979"></a><span class="lineno"> 1979</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l01980"></a><span class="lineno"> 1980</span>&#160;                bAnsi);</div>
<div class="line"><a name="l01981"></a><span class="lineno"> 1981</span>&#160; </div>
<div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l01983"></a><span class="lineno"> 1983</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l01984"></a><span class="lineno"> 1984</span>&#160;}</div>
<div class="line"><a name="l01985"></a><span class="lineno"> 1985</span>&#160; </div>
<div class="line"><a name="l01986"></a><span class="lineno"><a class="line" href="a03611.html#ab975ca5c374b505ee3f6a927175ea01e"> 1986</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnOUTSTRING)</div>
<div class="line"><a name="l01987"></a><span class="lineno"> 1987</span>&#160;{</div>
<div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>&#160;    <a class="code" href="a02449.html">LARGE_STRING</a> str;</div>
<div class="line"><a name="l01989"></a><span class="lineno"> 1989</span>&#160; </div>
<div class="line"><a name="l01990"></a><span class="lineno"> 1990</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l01991"></a><span class="lineno"> 1991</span>&#160; </div>
<div class="line"><a name="l01992"></a><span class="lineno"> 1992</span>&#160;        str.<a class="code" href="a02449.html#af4ab07640de8950ca1f439bb34be4b53">bAnsi</a> = bAnsi;</div>
<div class="line"><a name="l01993"></a><span class="lineno"> 1993</span>&#160;        str.<a class="code" href="a02449.html#ad355c4270a8465c419a47e3e68098cf1">MaximumLength</a> = wParam;</div>
<div class="line"><a name="l01994"></a><span class="lineno"> 1994</span>&#160;        str.<a class="code" href="a02449.html#a372d153f4b52e56d80dfa3eba11db02b">Buffer</a> = (PVOID)lParam;</div>
<div class="line"><a name="l01995"></a><span class="lineno"> 1995</span>&#160;        <span class="keywordflow">if</span> (!bAnsi) {</div>
<div class="line"><a name="l01996"></a><span class="lineno"> 1996</span>&#160;            str.<a class="code" href="a02449.html#ad355c4270a8465c419a47e3e68098cf1">MaximumLength</a> *= <span class="keyword">sizeof</span>(WCHAR);</div>
<div class="line"><a name="l01997"></a><span class="lineno"> 1997</span>&#160;        }</div>
<div class="line"><a name="l01998"></a><span class="lineno"> 1998</span>&#160; </div>
<div class="line"><a name="l01999"></a><span class="lineno"> 1999</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#aac588128c1dda198578dbbb5d3e7417c">NtUserfnOUTSTRING</a>(</div>
<div class="line"><a name="l02000"></a><span class="lineno"> 2000</span>&#160;                hwnd,</div>
<div class="line"><a name="l02001"></a><span class="lineno"> 2001</span>&#160;                msg,</div>
<div class="line"><a name="l02002"></a><span class="lineno"> 2002</span>&#160;                wParam,</div>
<div class="line"><a name="l02003"></a><span class="lineno"> 2003</span>&#160;                (LPARAM)&amp;str,</div>
<div class="line"><a name="l02004"></a><span class="lineno"> 2004</span>&#160;                xParam,</div>
<div class="line"><a name="l02005"></a><span class="lineno"> 2005</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l02006"></a><span class="lineno"> 2006</span>&#160;                bAnsi);</div>
<div class="line"><a name="l02007"></a><span class="lineno"> 2007</span>&#160; </div>
<div class="line"><a name="l02008"></a><span class="lineno"> 2008</span>&#160;        <span class="keywordflow">if</span> (!retval) {</div>
<div class="line"><a name="l02009"></a><span class="lineno"> 2009</span>&#160; </div>
<div class="line"><a name="l02010"></a><span class="lineno"> 2010</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l02011"></a><span class="lineno"> 2011</span>&#160;<span class="comment">             * A dialog function returning FALSE means no text to copy out,</span></div>
<div class="line"><a name="l02012"></a><span class="lineno"> 2012</span>&#160;<span class="comment">             * but an empty string also has retval == 0: put a null char in</span></div>
<div class="line"><a name="l02013"></a><span class="lineno"> 2013</span>&#160;<span class="comment">             * pstr for the latter case.</span></div>
<div class="line"><a name="l02014"></a><span class="lineno"> 2014</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l02015"></a><span class="lineno"> 2015</span>&#160;            <span class="keywordflow">if</span> (wParam != 0) {</div>
<div class="line"><a name="l02016"></a><span class="lineno"> 2016</span>&#160;                <span class="keywordflow">if</span> (bAnsi) {</div>
<div class="line"><a name="l02017"></a><span class="lineno"> 2017</span>&#160;                    LPSTR pstrA = (LPSTR)lParam;</div>
<div class="line"><a name="l02018"></a><span class="lineno"> 2018</span>&#160;                    *pstrA = 0;</div>
<div class="line"><a name="l02019"></a><span class="lineno"> 2019</span>&#160;                } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l02020"></a><span class="lineno"> 2020</span>&#160;                    *(LPWSTR)lParam = 0;</div>
<div class="line"><a name="l02021"></a><span class="lineno"> 2021</span>&#160;                }</div>
<div class="line"><a name="l02022"></a><span class="lineno"> 2022</span>&#160;            }</div>
<div class="line"><a name="l02023"></a><span class="lineno"> 2023</span>&#160;        }</div>
<div class="line"><a name="l02024"></a><span class="lineno"> 2024</span>&#160; </div>
<div class="line"><a name="l02025"></a><span class="lineno"> 2025</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l02026"></a><span class="lineno"> 2026</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l02027"></a><span class="lineno"> 2027</span>&#160;}</div>
<div class="line"><a name="l02028"></a><span class="lineno"> 2028</span>&#160; </div>
<div class="line"><a name="l02029"></a><span class="lineno"><a class="line" href="a03611.html#a33f23a93c01ee58a5dd8574892d4d3ef"> 2029</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnINCNTOUTSTRING)</div>
<div class="line"><a name="l02030"></a><span class="lineno"> 2030</span>&#160;{</div>
<div class="line"><a name="l02031"></a><span class="lineno"> 2031</span>&#160;    <a class="code" href="a02449.html">LARGE_STRING</a> str;</div>
<div class="line"><a name="l02032"></a><span class="lineno"> 2032</span>&#160;    WORD cchOriginal;</div>
<div class="line"><a name="l02033"></a><span class="lineno"> 2033</span>&#160;    LPTSTR pstr = (LPTSTR)lParam;</div>
<div class="line"><a name="l02034"></a><span class="lineno"> 2034</span>&#160; </div>
<div class="line"><a name="l02035"></a><span class="lineno"> 2035</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l02036"></a><span class="lineno"> 2036</span>&#160; </div>
<div class="line"><a name="l02037"></a><span class="lineno"> 2037</span>&#160;        str.<a class="code" href="a02449.html#af4ab07640de8950ca1f439bb34be4b53">bAnsi</a> = bAnsi;</div>
<div class="line"><a name="l02038"></a><span class="lineno"> 2038</span>&#160;        cchOriginal = *(LPWORD)pstr;</div>
<div class="line"><a name="l02039"></a><span class="lineno"> 2039</span>&#160;        str.<a class="code" href="a02449.html#ad355c4270a8465c419a47e3e68098cf1">MaximumLength</a> = cchOriginal;</div>
<div class="line"><a name="l02040"></a><span class="lineno"> 2040</span>&#160;        <span class="keywordflow">if</span> (cchOriginal == 0) {</div>
<div class="line"><a name="l02041"></a><span class="lineno"> 2041</span>&#160;            <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;fnINCNTOUTSTRING asking for 0 characters back\n&quot;</span>);</div>
<div class="line"><a name="l02042"></a><span class="lineno"> 2042</span>&#160;            <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l02043"></a><span class="lineno"> 2043</span>&#160;        }</div>
<div class="line"><a name="l02044"></a><span class="lineno"> 2044</span>&#160;        str.<a class="code" href="a02449.html#abfb371817eb1c8f0d8a165bb2b798092">Length</a> = 0;</div>
<div class="line"><a name="l02045"></a><span class="lineno"> 2045</span>&#160;        str.<a class="code" href="a02449.html#a372d153f4b52e56d80dfa3eba11db02b">Buffer</a> = (LPBYTE)lParam;</div>
<div class="line"><a name="l02046"></a><span class="lineno"> 2046</span>&#160;        <span class="keywordflow">if</span> (!bAnsi) {</div>
<div class="line"><a name="l02047"></a><span class="lineno"> 2047</span>&#160;            str.<a class="code" href="a02449.html#ad355c4270a8465c419a47e3e68098cf1">MaximumLength</a> *= <span class="keyword">sizeof</span>(WCHAR);</div>
<div class="line"><a name="l02048"></a><span class="lineno"> 2048</span>&#160;        }</div>
<div class="line"><a name="l02049"></a><span class="lineno"> 2049</span>&#160; </div>
<div class="line"><a name="l02050"></a><span class="lineno"> 2050</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#ae4fcc52401bf5ef27b049c6332aa67c1">NtUserfnINCNTOUTSTRING</a>(</div>
<div class="line"><a name="l02051"></a><span class="lineno"> 2051</span>&#160;                hwnd,</div>
<div class="line"><a name="l02052"></a><span class="lineno"> 2052</span>&#160;                msg,</div>
<div class="line"><a name="l02053"></a><span class="lineno"> 2053</span>&#160;                wParam,</div>
<div class="line"><a name="l02054"></a><span class="lineno"> 2054</span>&#160;                (LPARAM)&amp;str,</div>
<div class="line"><a name="l02055"></a><span class="lineno"> 2055</span>&#160;                xParam,</div>
<div class="line"><a name="l02056"></a><span class="lineno"> 2056</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l02057"></a><span class="lineno"> 2057</span>&#160;                bAnsi);</div>
<div class="line"><a name="l02058"></a><span class="lineno"> 2058</span>&#160; </div>
<div class="line"><a name="l02059"></a><span class="lineno"> 2059</span>&#160;        <span class="keywordflow">if</span> (!retval) {</div>
<div class="line"><a name="l02060"></a><span class="lineno"> 2060</span>&#160; </div>
<div class="line"><a name="l02061"></a><span class="lineno"> 2061</span>&#160;            <span class="comment">/*</span></div>
<div class="line"><a name="l02062"></a><span class="lineno"> 2062</span>&#160;<span class="comment">             * A dialog function returning FALSE means no text to copy out,</span></div>
<div class="line"><a name="l02063"></a><span class="lineno"> 2063</span>&#160;<span class="comment">             * but an empty string also has retval == 0: put a null char in</span></div>
<div class="line"><a name="l02064"></a><span class="lineno"> 2064</span>&#160;<span class="comment">             * pstr for the latter case.</span></div>
<div class="line"><a name="l02065"></a><span class="lineno"> 2065</span>&#160;<span class="comment">             */</span></div>
<div class="line"><a name="l02066"></a><span class="lineno"> 2066</span>&#160;            <span class="keywordflow">if</span> (bAnsi) {</div>
<div class="line"><a name="l02067"></a><span class="lineno"> 2067</span>&#160;                LPSTR pstrA = (LPSTR)pstr;</div>
<div class="line"><a name="l02068"></a><span class="lineno"> 2068</span>&#160;                *pstrA = 0;</div>
<div class="line"><a name="l02069"></a><span class="lineno"> 2069</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l02070"></a><span class="lineno"> 2070</span>&#160;                *pstr = 0;</div>
<div class="line"><a name="l02071"></a><span class="lineno"> 2071</span>&#160;            }</div>
<div class="line"><a name="l02072"></a><span class="lineno"> 2072</span>&#160;        }</div>
<div class="line"><a name="l02073"></a><span class="lineno"> 2073</span>&#160; </div>
<div class="line"><a name="l02074"></a><span class="lineno"> 2074</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l02075"></a><span class="lineno"> 2075</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l02076"></a><span class="lineno"> 2076</span>&#160;}</div>
<div class="line"><a name="l02077"></a><span class="lineno"> 2077</span>&#160; </div>
<div class="line"><a name="l02078"></a><span class="lineno"><a class="line" href="a03611.html#a3f44e1081c3692020f6a36333476074a"> 2078</a></span>&#160;<a class="code" href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a>(fnINCNTOUTSTRINGNULL)</div>
<div class="line"><a name="l02079"></a><span class="lineno"> 2079</span>&#160;{</div>
<div class="line"><a name="l02080"></a><span class="lineno"> 2080</span>&#160;    <a class="code" href="a02449.html">LARGE_STRING</a> str;</div>
<div class="line"><a name="l02081"></a><span class="lineno"> 2081</span>&#160; </div>
<div class="line"><a name="l02082"></a><span class="lineno"> 2082</span>&#160;    <a class="code" href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a>()</div>
<div class="line"><a name="l02083"></a><span class="lineno"> 2083</span>&#160; </div>
<div class="line"><a name="l02084"></a><span class="lineno"> 2084</span>&#160;        <span class="keywordflow">if</span> (wParam &lt; 2) {       <span class="comment">// This prevents a possible GP</span></div>
<div class="line"><a name="l02085"></a><span class="lineno"> 2085</span>&#160;            <a class="code" href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a>();</div>
<div class="line"><a name="l02086"></a><span class="lineno"> 2086</span>&#160;        }</div>
<div class="line"><a name="l02087"></a><span class="lineno"> 2087</span>&#160; </div>
<div class="line"><a name="l02088"></a><span class="lineno"> 2088</span>&#160;        str.<a class="code" href="a02449.html#af4ab07640de8950ca1f439bb34be4b53">bAnsi</a> = bAnsi;</div>
<div class="line"><a name="l02089"></a><span class="lineno"> 2089</span>&#160;        str.<a class="code" href="a02449.html#ad355c4270a8465c419a47e3e68098cf1">MaximumLength</a> = wParam;</div>
<div class="line"><a name="l02090"></a><span class="lineno"> 2090</span>&#160;        str.<a class="code" href="a02449.html#a372d153f4b52e56d80dfa3eba11db02b">Buffer</a> = (LPBYTE)lParam;</div>
<div class="line"><a name="l02091"></a><span class="lineno"> 2091</span>&#160;        <span class="keywordflow">if</span> (!bAnsi) {</div>
<div class="line"><a name="l02092"></a><span class="lineno"> 2092</span>&#160;            str.<a class="code" href="a02449.html#ad355c4270a8465c419a47e3e68098cf1">MaximumLength</a> *= <span class="keyword">sizeof</span>(WCHAR);</div>
<div class="line"><a name="l02093"></a><span class="lineno"> 2093</span>&#160;        }</div>
<div class="line"><a name="l02094"></a><span class="lineno"> 2094</span>&#160;        *((LPWSTR)str.<a class="code" href="a02449.html#a372d153f4b52e56d80dfa3eba11db02b">Buffer</a>) = 0;    <span class="comment">// mark incase message is not handled</span></div>
<div class="line"><a name="l02095"></a><span class="lineno"> 2095</span>&#160; </div>
<div class="line"><a name="l02096"></a><span class="lineno"> 2096</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#ada390199b48711bb5f43c21bd1de781c">NtUserfnINCNTOUTSTRINGNULL</a>(</div>
<div class="line"><a name="l02097"></a><span class="lineno"> 2097</span>&#160;                hwnd,</div>
<div class="line"><a name="l02098"></a><span class="lineno"> 2098</span>&#160;                msg,</div>
<div class="line"><a name="l02099"></a><span class="lineno"> 2099</span>&#160;                wParam,</div>
<div class="line"><a name="l02100"></a><span class="lineno"> 2100</span>&#160;                (LPARAM)&amp;str,</div>
<div class="line"><a name="l02101"></a><span class="lineno"> 2101</span>&#160;                xParam,</div>
<div class="line"><a name="l02102"></a><span class="lineno"> 2102</span>&#160;                xpfnProc,</div>
<div class="line"><a name="l02103"></a><span class="lineno"> 2103</span>&#160;                bAnsi);</div>
<div class="line"><a name="l02104"></a><span class="lineno"> 2104</span>&#160; </div>
<div class="line"><a name="l02105"></a><span class="lineno"> 2105</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l02106"></a><span class="lineno"> 2106</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l02107"></a><span class="lineno"> 2107</span>&#160;}</div>
<div class="line"><a name="l02108"></a><span class="lineno"> 2108</span>&#160; </div>
<div class="line"><a name="l02109"></a><span class="lineno"> 2109</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l02110"></a><span class="lineno"> 2110</span>&#160;<span class="comment"> * Hook thunks</span></div>
<div class="line"><a name="l02111"></a><span class="lineno"> 2111</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l02112"></a><span class="lineno"><a class="line" href="a00863.html#a48d73dabd767d73c652e86d0c2f0fd6d"> 2112</a></span>&#160;<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> <a class="code" href="a03611.html#a687de76bcca110411f6c34c2122571e6">fnHkINLPCBTCREATESTRUCT</a>(</div>
<div class="line"><a name="l02113"></a><span class="lineno"> 2113</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> msg,</div>
<div class="line"><a name="l02114"></a><span class="lineno"> 2114</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> wParam,</div>
<div class="line"><a name="l02115"></a><span class="lineno"> 2115</span>&#160;    LPCBT_CREATEWND pcbt,</div>
<div class="line"><a name="l02116"></a><span class="lineno"> 2116</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> xpfnProc,</div>
<div class="line"><a name="l02117"></a><span class="lineno"> 2117</span>&#160;    BOOL bAnsi)</div>
<div class="line"><a name="l02118"></a><span class="lineno"> 2118</span>&#160;{</div>
<div class="line"><a name="l02119"></a><span class="lineno"> 2119</span>&#160;    <a class="code" href="a01873.html">LARGE_IN_STRING</a> strName;</div>
<div class="line"><a name="l02120"></a><span class="lineno"> 2120</span>&#160;    <a class="code" href="a01869.html">IN_STRING</a> strClass;</div>
<div class="line"><a name="l02121"></a><span class="lineno"> 2121</span>&#160;    LPWSTR lpszName;</div>
<div class="line"><a name="l02122"></a><span class="lineno"> 2122</span>&#160; </div>
<div class="line"><a name="l02123"></a><span class="lineno"> 2123</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l02124"></a><span class="lineno"> 2124</span>&#160;<span class="comment">     * Make sure cleanup will work successfully</span></div>
<div class="line"><a name="l02125"></a><span class="lineno"> 2125</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l02126"></a><span class="lineno"> 2126</span>&#160;    strName.<a class="code" href="a01873.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l02127"></a><span class="lineno"> 2127</span>&#160;    strClass.<a class="code" href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">fAllocated</a> = FALSE;</div>
<div class="line"><a name="l02128"></a><span class="lineno"> 2128</span>&#160; </div>
<div class="line"><a name="l02129"></a><span class="lineno"> 2129</span>&#160;    <a class="code" href="a00359.html#a6c04537cb53d1ecc2c695f9f9406d848">BEGINCALLCONNECT</a>();</div>
<div class="line"><a name="l02130"></a><span class="lineno"> 2130</span>&#160; </div>
<div class="line"><a name="l02131"></a><span class="lineno"> 2131</span>&#160;        <span class="comment">/*</span></div>
<div class="line"><a name="l02132"></a><span class="lineno"> 2132</span>&#160;<span class="comment">         * Rebase in case lpszName points to desktop memory.</span></div>
<div class="line"><a name="l02133"></a><span class="lineno"> 2133</span>&#160;<span class="comment">         */</span></div>
<div class="line"><a name="l02134"></a><span class="lineno"> 2134</span>&#160;        lpszName = (LPWSTR)pcbt-&gt;lpcs-&gt;lpszName;</div>
<div class="line"><a name="l02135"></a><span class="lineno"> 2135</span>&#160;        if ((PVOID)lpszName &gt; MM_HIGHEST_USER_ADDRESS)</div>
<div class="line"><a name="l02136"></a><span class="lineno"> 2136</span>&#160;            lpszName = (LPWSTR)((PBYTE)lpszName - GetClientInfo()-&gt;ulClientDelta);</div>
<div class="line"><a name="l02137"></a><span class="lineno"> 2137</span>&#160; </div>
<div class="line"><a name="l02138"></a><span class="lineno"> 2138</span>&#160;        <span class="keywordflow">if</span> (bAnsi) {</div>
<div class="line"><a name="l02139"></a><span class="lineno"> 2139</span>&#160;            <a class="code" href="a00359.html#a070de3b9e898b623545fe86566841845">FIRSTLARGECOPYLPSTROPTW</a>(&amp;strName, (LPSTR)lpszName);</div>
<div class="line"><a name="l02140"></a><span class="lineno"> 2140</span>&#160;            <a class="code" href="a00359.html#a97580e2e850a6e8f8f4a72575be9a7b5">COPYLPSTRIDW</a>(&amp;strClass, pcbt-&gt;lpcs-&gt;lpszClass);</div>
<div class="line"><a name="l02141"></a><span class="lineno"> 2141</span>&#160;        } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l02142"></a><span class="lineno"> 2142</span>&#160;            <a class="code" href="a00359.html#ab33cfda3259b4d21390d77ee9968babc">FIRSTLARGECOPYLPWSTROPT</a>(&amp;strName, lpszName);</div>
<div class="line"><a name="l02143"></a><span class="lineno"> 2143</span>&#160;            <a class="code" href="a00359.html#a7a523494593d00654f7130108ba58753">COPYLPWSTRID</a>(&amp;strClass, pcbt-&gt;lpcs-&gt;lpszClass);</div>
<div class="line"><a name="l02144"></a><span class="lineno"> 2144</span>&#160;        }</div>
<div class="line"><a name="l02145"></a><span class="lineno"> 2145</span>&#160; </div>
<div class="line"><a name="l02146"></a><span class="lineno"> 2146</span>&#160;        retval = (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)<a class="code" href="a00362.html#abe4adfbc8523648f70e07de5d72581ee">NtUserfnHkINLPCBTCREATESTRUCT</a>(</div>
<div class="line"><a name="l02147"></a><span class="lineno"> 2147</span>&#160;                msg,</div>
<div class="line"><a name="l02148"></a><span class="lineno"> 2148</span>&#160;                wParam,</div>
<div class="line"><a name="l02149"></a><span class="lineno"> 2149</span>&#160;                pcbt,</div>
<div class="line"><a name="l02150"></a><span class="lineno"> 2150</span>&#160;                strName.<a class="code" href="a01873.html#a2c599c1a95e4ede6787c52ed1af8a59e">pstr</a>,</div>
<div class="line"><a name="l02151"></a><span class="lineno"> 2151</span>&#160;                strClass.<a class="code" href="a01869.html#a4c18e984366112a802ac2789fe64cc87">pstr</a>,</div>
<div class="line"><a name="l02152"></a><span class="lineno"> 2152</span>&#160;                xpfnProc);</div>
<div class="line"><a name="l02153"></a><span class="lineno"> 2153</span>&#160; </div>
<div class="line"><a name="l02154"></a><span class="lineno"> 2154</span>&#160;    <a class="code" href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a>(0);</div>
<div class="line"><a name="l02155"></a><span class="lineno"> 2155</span>&#160;    <a class="code" href="a00359.html#ae80cae7750cd1854ec0f9cfa717e7cd6">CLEANUPLPSTRW</a>(strName);</div>
<div class="line"><a name="l02156"></a><span class="lineno"> 2156</span>&#160;    <a class="code" href="a00359.html#ae80cae7750cd1854ec0f9cfa717e7cd6">CLEANUPLPSTRW</a>(strClass);</div>
<div class="line"><a name="l02157"></a><span class="lineno"> 2157</span>&#160;    <a class="code" href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a>(<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>);</div>
<div class="line"><a name="l02158"></a><span class="lineno"> 2158</span>&#160;}</div>
<div class="line"><a name="l02159"></a><span class="lineno"> 2159</span>&#160; </div>
<div class="line"><a name="l02160"></a><span class="lineno"><a class="line" href="a03611.html#a42b71a3f5ca7212d3dc3f623cb603852"> 2160</a></span>&#160;LONG <a class="code" href="a03611.html#a42b71a3f5ca7212d3dc3f623cb603852">BroadcastSystemMessageWorker</a>(</div>
<div class="line"><a name="l02161"></a><span class="lineno"> 2161</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a> dwFlags,</div>
<div class="line"><a name="l02162"></a><span class="lineno"> 2162</span>&#160;    LPDWORD lpdwRecipients,</div>
<div class="line"><a name="l02163"></a><span class="lineno"> 2163</span>&#160;    <a class="code" href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a> message,</div>
<div class="line"><a name="l02164"></a><span class="lineno"> 2164</span>&#160;    WPARAM wParam,</div>
<div class="line"><a name="l02165"></a><span class="lineno"> 2165</span>&#160;    LPARAM lParam,</div>
<div class="line"><a name="l02166"></a><span class="lineno"> 2166</span>&#160;    BOOL fAnsi)</div>
<div class="line"><a name="l02167"></a><span class="lineno"> 2167</span>&#160;{</div>
<div class="line"><a name="l02168"></a><span class="lineno"> 2168</span>&#160;    <a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>  dwRecipients;</div>
<div class="line"><a name="l02169"></a><span class="lineno"> 2169</span>&#160; </div>
<div class="line"><a name="l02170"></a><span class="lineno"> 2170</span>&#160;    <span class="comment">/*</span></div>
<div class="line"><a name="l02171"></a><span class="lineno"> 2171</span>&#160;<span class="comment">     * Prevent apps from setting hi 16 bits so we can use them internally.</span></div>
<div class="line"><a name="l02172"></a><span class="lineno"> 2172</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l02173"></a><span class="lineno"> 2173</span>&#160;    <span class="keywordflow">if</span> (message &amp; RESERVED_MSG_BITS) {</div>
<div class="line"><a name="l02174"></a><span class="lineno"> 2174</span>&#160;        <a class="code" href="a00371.html#adbdd8355d15a97b6f3a9e4766e6a2cc1">RIPERR1</a>(ERROR_INVALID_PARAMETER, <a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;invalid message (%x) for BroadcastSystemMessage\n&quot;</span>, message);</div>
<div class="line"><a name="l02175"></a><span class="lineno"> 2175</span>&#160;        <span class="keywordflow">return</span>(0);</div>
<div class="line"><a name="l02176"></a><span class="lineno"> 2176</span>&#160;    }</div>
<div class="line"><a name="l02177"></a><span class="lineno"> 2177</span>&#160; </div>
<div class="line"><a name="l02178"></a><span class="lineno"> 2178</span>&#160;    <span class="keywordflow">if</span> (dwFlags &amp; ~BSF_VALID) {</div>
<div class="line"><a name="l02179"></a><span class="lineno"> 2179</span>&#160;        <a class="code" href="a00371.html#adbdd8355d15a97b6f3a9e4766e6a2cc1">RIPERR1</a>(ERROR_INVALID_PARAMETER, <a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;invalid dwFlags (%x) for BroadcastSystemMessage\n&quot;</span>, dwFlags);</div>
<div class="line"><a name="l02180"></a><span class="lineno"> 2180</span>&#160;        <span class="keywordflow">return</span>(0);</div>
<div class="line"><a name="l02181"></a><span class="lineno"> 2181</span>&#160;    }</div>
<div class="line"><a name="l02182"></a><span class="lineno"> 2182</span>&#160; </div>
<div class="line"><a name="l02183"></a><span class="lineno"> 2183</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l02184"></a><span class="lineno"> 2184</span>&#160;    <span class="comment">// Check if the message number is in the private message range.</span></div>
<div class="line"><a name="l02185"></a><span class="lineno"> 2185</span>&#160;    <span class="comment">// If so, do not send it to Win4.0 windows.</span></div>
<div class="line"><a name="l02186"></a><span class="lineno"> 2186</span>&#160;    <span class="comment">// (This is required because apps like SimCity broadcast a message</span></div>
<div class="line"><a name="l02187"></a><span class="lineno"> 2187</span>&#160;    <span class="comment">// that has the value 0x500 and that confuses MsgSrvr&#39;s</span></div>
<div class="line"><a name="l02188"></a><span class="lineno"> 2188</span>&#160;    <span class="comment">// MSGSRVR_NOTIFY handler.</span></div>
<div class="line"><a name="l02189"></a><span class="lineno"> 2189</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l02190"></a><span class="lineno"> 2190</span>&#160;    <span class="keywordflow">if</span> ((message &gt;= WM_USER) &amp;&amp; (message &lt; 0xC000))</div>
<div class="line"><a name="l02191"></a><span class="lineno"> 2191</span>&#160;    {</div>
<div class="line"><a name="l02192"></a><span class="lineno"> 2192</span>&#160;        <a class="code" href="a00371.html#adbdd8355d15a97b6f3a9e4766e6a2cc1">RIPERR1</a>(ERROR_INVALID_PARAMETER, <a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;invalid message (%x) for BroadcastSystemMessage\n&quot;</span>, message);</div>
<div class="line"><a name="l02193"></a><span class="lineno"> 2193</span>&#160;        <span class="keywordflow">return</span>(0L);</div>
<div class="line"><a name="l02194"></a><span class="lineno"> 2194</span>&#160;    }</div>
<div class="line"><a name="l02195"></a><span class="lineno"> 2195</span>&#160; </div>
<div class="line"><a name="l02196"></a><span class="lineno"> 2196</span>&#160;    <span class="keywordflow">if</span> (dwFlags &amp; BSF_FORCEIFHUNG)</div>
<div class="line"><a name="l02197"></a><span class="lineno"> 2197</span>&#160;        dwFlags |= BSF_NOHANG;</div>
<div class="line"><a name="l02198"></a><span class="lineno"> 2198</span>&#160; </div>
<div class="line"><a name="l02199"></a><span class="lineno"> 2199</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l02200"></a><span class="lineno"> 2200</span>&#160;    <span class="comment">// If BSF_QUERY or message has a pointer, it can not be posted.</span></div>
<div class="line"><a name="l02201"></a><span class="lineno"> 2201</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l02202"></a><span class="lineno"> 2202</span>&#160;    <span class="keywordflow">if</span> (dwFlags &amp; BSF_QUERY)</div>
<div class="line"><a name="l02203"></a><span class="lineno"> 2203</span>&#160;    {</div>
<div class="line"><a name="l02204"></a><span class="lineno"> 2204</span>&#160;<span class="preprocessor">#ifdef DEBUG</span></div>
<div class="line"><a name="l02205"></a><span class="lineno"> 2205</span>&#160;        <span class="keywordflow">if</span> (dwFlags &amp; BSF_POSTMESSAGE)</div>
<div class="line"><a name="l02206"></a><span class="lineno"> 2206</span>&#160;        {</div>
<div class="line"><a name="l02207"></a><span class="lineno"> 2207</span>&#160;            <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#afa5f32de88404289ec03cd2c0e61e94f">RIP_ERROR</a>, <span class="stringliteral">&quot;BroadcastSystemMessage: Can&#39;t post queries\n&quot;</span>);</div>
<div class="line"><a name="l02208"></a><span class="lineno"> 2208</span>&#160;        }</div>
<div class="line"><a name="l02209"></a><span class="lineno"> 2209</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l02210"></a><span class="lineno"> 2210</span>&#160; </div>
<div class="line"><a name="l02211"></a><span class="lineno"> 2211</span>&#160;        dwFlags &amp;= ~(BSF_POSTMESSAGE);  <span class="comment">// Strip the BSF_POSTMESSAGE flag.</span></div>
<div class="line"><a name="l02212"></a><span class="lineno"> 2212</span>&#160;    }</div>
<div class="line"><a name="l02213"></a><span class="lineno"> 2213</span>&#160; </div>
<div class="line"><a name="l02214"></a><span class="lineno"> 2214</span>&#160;    <span class="keywordflow">if</span> (dwFlags &amp; BSF_POSTMESSAGE) {</div>
<div class="line"><a name="l02215"></a><span class="lineno"> 2215</span>&#160;        <span class="keywordflow">if</span> (<a class="code" href="a00362.html#a384a73468194dd5fff52fb40eb199bd5">NtUserCallTwoParam</a>(message, wParam, <a class="code" href="a00335.html#ae24d313fd4aac4b6290d993b866f9f71">SFI_ISSYNCONLYMESSAGE</a>)) {</div>
<div class="line"><a name="l02216"></a><span class="lineno"> 2216</span>&#160;            <a class="code" href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a>(<a class="code" href="a00371.html#afa5f32de88404289ec03cd2c0e61e94f">RIP_ERROR</a>, <span class="stringliteral">&quot;BroadcastSystemMessage: Can&#39;t post messages with pointers\n&quot;</span>);</div>
<div class="line"><a name="l02217"></a><span class="lineno"> 2217</span>&#160;            dwFlags &amp;= ~(BSF_POSTMESSAGE);  <span class="comment">// Strip the BSF_POSTMESSAGE flag.</span></div>
<div class="line"><a name="l02218"></a><span class="lineno"> 2218</span>&#160;        }</div>
<div class="line"><a name="l02219"></a><span class="lineno"> 2219</span>&#160;    }</div>
<div class="line"><a name="l02220"></a><span class="lineno"> 2220</span>&#160; </div>
<div class="line"><a name="l02221"></a><span class="lineno"> 2221</span>&#160; </div>
<div class="line"><a name="l02222"></a><span class="lineno"> 2222</span>&#160;    <span class="comment">// Let us find out who the intended recipients are.</span></div>
<div class="line"><a name="l02223"></a><span class="lineno"> 2223</span>&#160;    <span class="keywordflow">if</span> (lpdwRecipients != NULL)</div>
<div class="line"><a name="l02224"></a><span class="lineno"> 2224</span>&#160;        dwRecipients = *lpdwRecipients;</div>
<div class="line"><a name="l02225"></a><span class="lineno"> 2225</span>&#160;    <span class="keywordflow">else</span></div>
<div class="line"><a name="l02226"></a><span class="lineno"> 2226</span>&#160;        dwRecipients = BSM_ALLCOMPONENTS;</div>
<div class="line"><a name="l02227"></a><span class="lineno"> 2227</span>&#160; </div>
<div class="line"><a name="l02228"></a><span class="lineno"> 2228</span>&#160;    <span class="comment">// if they want all components, add the corresponding bits</span></div>
<div class="line"><a name="l02229"></a><span class="lineno"> 2229</span>&#160;    <span class="keywordflow">if</span> ((dwRecipients &amp; BSM_COMPONENTS) == BSM_ALLCOMPONENTS)</div>
<div class="line"><a name="l02230"></a><span class="lineno"> 2230</span>&#160;        dwRecipients |= (BSM_VXDS | BSM_NETDRIVER | BSM_INSTALLABLEDRIVERS |</div>
<div class="line"><a name="l02231"></a><span class="lineno"> 2231</span>&#160;                             BSM_APPLICATIONS);</div>
<div class="line"><a name="l02232"></a><span class="lineno"> 2232</span>&#160; </div>
<div class="line"><a name="l02233"></a><span class="lineno"> 2233</span>&#160; </div>
<div class="line"><a name="l02234"></a><span class="lineno"> 2234</span>&#160;    <span class="keywordflow">if</span> (dwRecipients &amp; ~BSM_VALID) {</div>
<div class="line"><a name="l02235"></a><span class="lineno"> 2235</span>&#160;        <a class="code" href="a00371.html#adbdd8355d15a97b6f3a9e4766e6a2cc1">RIPERR1</a>(ERROR_INVALID_PARAMETER, <a class="code" href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a>, <span class="stringliteral">&quot;invalid dwRecipients (%x) for BroadcastSystemMessage\n&quot;</span>, dwRecipients);</div>
<div class="line"><a name="l02236"></a><span class="lineno"> 2236</span>&#160;        <span class="keywordflow">return</span>(0);</div>
<div class="line"><a name="l02237"></a><span class="lineno"> 2237</span>&#160;    }</div>
<div class="line"><a name="l02238"></a><span class="lineno"> 2238</span>&#160; </div>
<div class="line"><a name="l02239"></a><span class="lineno"> 2239</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l02240"></a><span class="lineno"> 2240</span>&#160;    <span class="comment">// Check if this is a WM_USERCHANGED message; If so, we want to reload</span></div>
<div class="line"><a name="l02241"></a><span class="lineno"> 2241</span>&#160;    <span class="comment">// the per-user settings before anyone else sees this message.</span></div>
<div class="line"><a name="l02242"></a><span class="lineno"> 2242</span>&#160;    <span class="comment">//</span></div>
<div class="line"><a name="l02243"></a><span class="lineno"> 2243</span>&#160;    <span class="comment">// LATER -- FritzS</span></div>
<div class="line"><a name="l02244"></a><span class="lineno"> 2244</span>&#160;<span class="comment">//    if (uiMessage == WM_USERCHANGED)</span></div>
<div class="line"><a name="l02245"></a><span class="lineno"> 2245</span>&#160;<span class="comment">//        ReloadPerUserSettings();</span></div>
<div class="line"><a name="l02246"></a><span class="lineno"> 2246</span>&#160; </div>
<div class="line"><a name="l02247"></a><span class="lineno"> 2247</span>&#160; </div>
<div class="line"><a name="l02248"></a><span class="lineno"> 2248</span>&#160;    <span class="comment">// Does this need to be sent to all apps?</span></div>
<div class="line"><a name="l02249"></a><span class="lineno"> 2249</span>&#160;    <span class="keywordflow">if</span> (dwRecipients &amp; BSM_APPLICATIONS)</div>
<div class="line"><a name="l02250"></a><span class="lineno"> 2250</span>&#160;    {</div>
<div class="line"><a name="l02251"></a><span class="lineno"> 2251</span>&#160;        <a class="code" href="a02497.html">BROADCASTSYSTEMMSGPARAMS</a> bsmParams;</div>
<div class="line"><a name="l02252"></a><span class="lineno"> 2252</span>&#160; </div>
<div class="line"><a name="l02253"></a><span class="lineno"> 2253</span>&#160;        bsmParams.<a class="code" href="a02497.html#a4d2f405b1141000eb2af256e0fc8b98b">dwFlags</a> = dwFlags;</div>
<div class="line"><a name="l02254"></a><span class="lineno"> 2254</span>&#160;        bsmParams.<a class="code" href="a02497.html#a356022490006e2c86c821ffa58ed3c76">dwRecipients</a> = dwRecipients;</div>
<div class="line"><a name="l02255"></a><span class="lineno"> 2255</span>&#160; </div>
<div class="line"><a name="l02256"></a><span class="lineno"> 2256</span>&#160;        <span class="keywordflow">return</span> CsSendMessage(<a class="code" href="a03743.html#a0a4b4ffaef0371b526a03f68506e6a80">GetDesktopWindow</a>(), message, wParam, lParam,</div>
<div class="line"><a name="l02257"></a><span class="lineno"> 2257</span>&#160;            (<a class="code" href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a>)&amp;bsmParams, FNID_SENDMESSAGEBSM, fAnsi);</div>
<div class="line"><a name="l02258"></a><span class="lineno"> 2258</span>&#160;    }</div>
<div class="line"><a name="l02259"></a><span class="lineno"> 2259</span>&#160; </div>
<div class="line"><a name="l02260"></a><span class="lineno"> 2260</span>&#160;    <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l02261"></a><span class="lineno"> 2261</span>&#160;}</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="aa00362_html_af174611402453de2240a9d9cf8af91f5"><div class="ttname"><a href="a00362.html#af174611402453de2240a9d9cf8af91f5">NtUserPeekMessage</a></div><div class="ttdeci">BOOL NtUserPeekMessage(OUT LPMSG pmsg, IN HWND hwnd, IN UINT wMsgFilterMin, IN UINT wMsgFilterMax, IN UINT wRemoveMsg, OUT HKL *pHKL)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l04223">kernel/ntstubs.c:4223</a></div></div>
<div class="ttc" id="aa00200_html_a0a5a542c4a21277b928ba4d9882958cb"><div class="ttname"><a href="a00200.html#a0a5a542c4a21277b928ba4d9882958cb">CreateMDIChild</a></div><div class="ttdeci">BOOL CreateMDIChild(PSHORTCREATE psc, LPMDICREATESTRUCT pmcs, DWORD dwExpWinVerAndFlags, HMENU *phSysMenu, PWND pwndParent)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l02547">mdiwin.c:2547</a></div></div>
<div class="ttc" id="aa00263_html_a52c48f6bdd99bf8fee75d67f1b1b4d01"><div class="ttname"><a href="a00263.html#a52c48f6bdd99bf8fee75d67f1b1b4d01">TestWindowProcess</a></div><div class="ttdeci">BOOL TestWindowProcess(PWND pwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a00263_source.html#l00489">winmgrc.c:489</a></div></div>
<div class="ttc" id="aa03611_html_adccbe0a4e456bc7a91fcf34092672f21"><div class="ttname"><a href="a03611.html#adccbe0a4e456bc7a91fcf34092672f21">GetControlBrush</a></div><div class="ttdeci">HBRUSH GetControlBrush(HWND hwnd, HDC hdc, UINT msg)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00623">client/ntstubs.c:623</a></div></div>
<div class="ttc" id="aa00371_html_a01c4659626880ba56745765a3580a36b"><div class="ttname"><a href="a00371.html#a01c4659626880ba56745765a3580a36b">RIPMSG0</a></div><div class="ttdeci">#define RIPMSG0(flags, szFmt)</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00131">winerrp.h:131</a></div></div>
<div class="ttc" id="aa00365_html_a147bfb6d38764fd5ccf6f45225cb56e6"><div class="ttname"><a href="a00365.html#a147bfb6d38764fd5ccf6f45225cb56e6">PCLS</a></div><div class="ttdeci">struct tagCLS * PCLS</div></div>
<div class="ttc" id="aa00362_html_a11b6d3c4f5b50eb692be1356dbc7f73b"><div class="ttname"><a href="a00362.html#a11b6d3c4f5b50eb692be1356dbc7f73b">NtUserRegisterHotKey</a></div><div class="ttdeci">BOOL NtUserRegisterHotKey(IN HWND hwnd, IN int id, IN UINT fsModifiers, IN UINT vk)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l04382">kernel/ntstubs.c:4382</a></div></div>
<div class="ttc" id="aa03611_html_ab36183158992940b36c1a43c4fe55179"><div class="ttname"><a href="a03611.html#ab36183158992940b36c1a43c4fe55179">ToUnicodeEx</a></div><div class="ttdeci">int ToUnicodeEx(UINT wVirtKey, UINT wScanCode, PBYTE pKeyState, LPWSTR pwszBuff, int cchBuff, UINT wFlags, HKL hkl)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01128">client/ntstubs.c:1128</a></div></div>
<div class="ttc" id="aa02497_html_a356022490006e2c86c821ffa58ed3c76"><div class="ttname"><a href="a02497.html#a356022490006e2c86c821ffa58ed3c76">BROADCASTSYSTEMMSGPARAMS::dwRecipients</a></div><div class="ttdeci">DWORD dwRecipients</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00612">user.h:612</a></div></div>
<div class="ttc" id="aa00065_html_aeee0871f514f08f450cad7efbcd9f387"><div class="ttname"><a href="a00065.html#aeee0871f514f08f450cad7efbcd9f387">MSGERRORCODE</a></div><div class="ttdeci">#define MSGERRORCODE(code)</div><div class="ttdef"><b>Definition:</b> <a href="a00065_source.html#l00070">crecv.c:70</a></div></div>
<div class="ttc" id="aa00365_html_a47585c80672490cbfb5c1bdd5f4cc874"><div class="ttname"><a href="a00365.html#a47585c80672490cbfb5c1bdd5f4cc874">RtlInitLargeAnsiString</a></div><div class="ttdeci">VOID RtlInitLargeAnsiString(PLARGE_ANSI_STRING plstr, LPCSTR psz, UINT cchLimit)</div><div class="ttdef"><b>Definition:</b> <a href="a00932_source.html#l00559">chartran.c:559</a></div></div>
<div class="ttc" id="aa00362_html_a8569d1a3edb3ad8ac54214d988442926"><div class="ttname"><a href="a00362.html#a8569d1a3edb3ad8ac54214d988442926">NtUserfnINSTRINGNULL</a></div><div class="ttdeci">LONG NtUserfnINSTRINGNULL(HWND hwnd, UINT msg, DWORD wParam, LONG lParam, DWORD xParam, DWORD xpfnProc, BOOL bAnsi)</div></div>
<div class="ttc" id="aa00359_html_a6c04537cb53d1ecc2c695f9f9406d848"><div class="ttname"><a href="a00359.html#a6c04537cb53d1ecc2c695f9f9406d848">BEGINCALLCONNECT</a></div><div class="ttdeci">#define BEGINCALLCONNECT()</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00014">ntsend.h:14</a></div></div>
<div class="ttc" id="aa00362_html_aa20a962f90b767836867a3227eefe559"><div class="ttname"><a href="a00362.html#aa20a962f90b767836867a3227eefe559">NtUserConvertMemHandle</a></div><div class="ttdeci">HANDLE NtUserConvertMemHandle(IN LPBYTE lpData, IN UINT cbNULL)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02480">kernel/ntstubs.c:2480</a></div></div>
<div class="ttc" id="aa00359_html_a1cd8eaaec48c11cb1d5a0f629c9621bf"><div class="ttname"><a href="a00359.html#a1cd8eaaec48c11cb1d5a0f629c9621bf">CLEANUPLPWSTR</a></div><div class="ttdeci">#define CLEANUPLPWSTR(instr)</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00249">ntsend.h:249</a></div></div>
<div class="ttc" id="aa00941_html_aaf8b3ae5e2b40b6de6cc9377d53baa45"><div class="ttname"><a href="a00941.html#aaf8b3ae5e2b40b6de6cc9377d53baa45">WideCharToMultiByte</a></div><div class="ttdeci">int WideCharToMultiByte(UINT CodePage, DWORD dwFlags, LPCWSTR lpWideCharStr, int cchWideChar, LPSTR lpMultiByteStr, int cchMultiByte, LPCSTR lpDefaultChar, LPBOOL lpUsedDefaultChar)</div></div>
<div class="ttc" id="aa02453_html"><div class="ttname"><a href="a02453.html">_LARGE_ANSI_STRING</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00273">user.h:273</a></div></div>
<div class="ttc" id="aa00359_html_a09dcc56c95999f42873a15a2c33dd08d"><div class="ttname"><a href="a00359.html#a09dcc56c95999f42873a15a2c33dd08d">COPYLPSTROPTW</a></div><div class="ttdeci">#define COPYLPSTROPTW</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00105">ntsend.h:105</a></div></div>
<div class="ttc" id="aa00362_html_a8664700fb3619f5ac552f2e687df4f42"><div class="ttname"><a href="a00362.html#a8664700fb3619f5ac552f2e687df4f42">NtUserGetWOWClass</a></div><div class="ttdeci">PCLS NtUserGetWOWClass(IN HINSTANCE hInstance, IN PUNICODE_STRING pString)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02272">kernel/ntstubs.c:2272</a></div></div>
<div class="ttc" id="aa03611_html_a3ff236c77d352edb059ac5077ecbf9bb"><div class="ttname"><a href="a03611.html#a3ff236c77d352edb059ac5077ecbf9bb">GetClassWOWWords</a></div><div class="ttdeci">LONG GetClassWOWWords(HINSTANCE hInstance, LPCTSTR pString)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00138">client/ntstubs.c:138</a></div></div>
<div class="ttc" id="aa00362_html_aefa525621cffc95b8c4700d3e7378341"><div class="ttname"><a href="a00362.html#aefa525621cffc95b8c4700d3e7378341">NtUserfnINDEVICECHANGE</a></div><div class="ttdeci">LONG NtUserfnINDEVICECHANGE(HWND hwnd, UINT msg, DWORD wParam, LONG lParam, DWORD xParam, DWORD xpfnProc, BOOL bAnsi)</div></div>
<div class="ttc" id="aa03611_html_ad0c07c81996a40447c06125e734745f0"><div class="ttname"><a href="a03611.html#ad0c07c81996a40447c06125e734745f0">_CreateAcceleratorTable</a></div><div class="ttdeci">HACCEL _CreateAcceleratorTable(LPACCEL paccel, INT cbElem, INT nElem)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00320">client/ntstubs.c:320</a></div></div>
<div class="ttc" id="aa03611_html_ab82910c4539db8debc07209b4b83d38f"><div class="ttname"><a href="a03611.html#ab82910c4539db8debc07209b4b83d38f">FillWindow</a></div><div class="ttdeci">BOOL FillWindow(HWND hwndBrush, HWND hwndPaint, HDC hdc, HBRUSH hbr)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00115">client/ntstubs.c:115</a></div></div>
<div class="ttc" id="aa02557_html_aedf49a5424d4d9ad2cf1817a726c165f"><div class="ttname"><a href="a02557.html#aedf49a5424d4d9ad2cf1817a726c165f">_CALLPROCDATA::wType</a></div><div class="ttdeci">WORD wType</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01251">user.h:1251</a></div></div>
<div class="ttc" id="aa02449_html_ad355c4270a8465c419a47e3e68098cf1"><div class="ttname"><a href="a02449.html#ad355c4270a8465c419a47e3e68098cf1">_LARGE_STRING::MaximumLength</a></div><div class="ttdeci">ULONG MaximumLength</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00268">user.h:268</a></div></div>
<div class="ttc" id="aa00359_html_afe4016d36bf9a453d4268e73608814b2"><div class="ttname"><a href="a00359.html#afe4016d36bf9a453d4268e73608814b2">COPYLPWSTRIDOPT</a></div><div class="ttdeci">#define COPYLPWSTRIDOPT</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00207">ntsend.h:207</a></div></div>
<div class="ttc" id="aa00362_html_a9721ddbcac92beaec02122d200d6b964"><div class="ttname"><a href="a00362.html#a9721ddbcac92beaec02122d200d6b964">NtUserCreateAcceleratorTable</a></div><div class="ttdeci">HACCEL NtUserCreateAcceleratorTable(IN LPACCEL lpAccel, IN INT cbElem)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02713">kernel/ntstubs.c:2713</a></div></div>
<div class="ttc" id="aa03611_html_abc9707ed65f61cfba32fcf9dcbdb6bb9"><div class="ttname"><a href="a03611.html#abc9707ed65f61cfba32fcf9dcbdb6bb9">GetAsyncKeyState</a></div><div class="ttdeci">SHORT GetAsyncKeyState(int vKey)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00559">client/ntstubs.c:559</a></div></div>
<div class="ttc" id="aa00362_html_af4bb6c1c0c536baadaa3842688b6c486"><div class="ttname"><a href="a00362.html#af4bb6c1c0c536baadaa3842688b6c486">NtUserDrawCaption</a></div><div class="ttdeci">BOOL NtUserDrawCaption(IN HWND hwnd, IN HDC hdc, IN CONST RECT *lprc, IN UINT flags)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l03661">kernel/ntstubs.c:3661</a></div></div>
<div class="ttc" id="aa03611_html_af4624f95891ff61f5e8c6c1c386f16fe"><div class="ttname"><a href="a03611.html#af4624f95891ff61f5e8c6c1c386f16fe">TranslateMessage</a></div><div class="ttdeci">BOOL TranslateMessage(CONST MSG *pmsg)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01017">client/ntstubs.c:1017</a></div></div>
<div class="ttc" id="aa02513_html_af022f477dc1c3ff919fb27200fadcbca"><div class="ttname"><a href="a02513.html#af022f477dc1c3ff919fb27200fadcbca">tagSERVERINFO::dwAsyncKeyCache</a></div><div class="ttdeci">DWORD dwAsyncKeyCache</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01047">user.h:1047</a></div></div>
<div class="ttc" id="aa03611_html_a387282161de07eb8f101949bd4977039"><div class="ttname"><a href="a03611.html#a387282161de07eb8f101949bd4977039">InitTask</a></div><div class="ttdeci">BOOL InitTask(UINT wVersion, LPCSTR pszAppName, DWORD hTaskWow, DWORD dwHotkey, DWORD idTask, DWORD dwX, DWORD dwY, DWORD dwXSize, DWORD dwYSize, WORD wShowWindow)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00178">client/ntstubs.c:178</a></div></div>
<div class="ttc" id="aa03611_html_a6115159a3df3344553311b49547d1c93"><div class="ttname"><a href="a03611.html#a6115159a3df3344553311b49547d1c93">_CreateWindowEx</a></div><div class="ttdeci">HWND _CreateWindowEx(DWORD dwExStyle, LPCTSTR pClassName, LPCTSTR pWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hwndParent, HMENU hmenu, HANDLE hModule, LPVOID pParam, DWORD dwFlags, LPDWORD pWOW)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01360">client/ntstubs.c:1360</a></div></div>
<div class="ttc" id="aa00365_html_a541a4d80afc3abe77692be2160e0f354"><div class="ttname"><a href="a00365.html#a541a4d80afc3abe77692be2160e0f354">RtlWCSMessageWParamCharToMB</a></div><div class="ttdeci">BOOL RtlWCSMessageWParamCharToMB(DWORD msg, PDWORD pWParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00932_source.html#l00323">chartran.c:323</a></div></div>
<div class="ttc" id="aa00362_html_ac60bac744896629961d4d834d0ea76c3"><div class="ttname"><a href="a00362.html#ac60bac744896629961d4d834d0ea76c3">NtUserOpenClipboard</a></div><div class="ttdeci">BOOL NtUserOpenClipboard(IN HWND hwnd, OUT PBOOL pfEmptyClient)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l04192">kernel/ntstubs.c:4192</a></div></div>
<div class="ttc" id="aa03611_html_ad05a89e5cdcfc05cc7b75ec90416a3f1"><div class="ttname"><a href="a03611.html#ad05a89e5cdcfc05cc7b75ec90416a3f1">MESSAGECALL</a></div><div class="ttdeci">MESSAGECALL(fnINWPARAMCHAR)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01579">client/ntstubs.c:1579</a></div></div>
<div class="ttc" id="aa00362_html_a807eee6c1f5bdcb82d46e7aa29f9b9a8"><div class="ttname"><a href="a00362.html#a807eee6c1f5bdcb82d46e7aa29f9b9a8">NtUserSetSysColors</a></div><div class="ttdeci">BOOL NtUserSetSysColors(IN int cElements, IN CONST INT *lpaElements, IN CONST COLORREF *lpaRgbValues, IN UINT uOptions)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l04715">kernel/ntstubs.c:4715</a></div></div>
<div class="ttc" id="aa00362_html_a8d41a3436e0cf1cca59496323d8d75d6"><div class="ttname"><a href="a00362.html#a8d41a3436e0cf1cca59496323d8d75d6">NtUserInitTask</a></div><div class="ttdeci">NTSTATUS NtUserInitTask(IN UINT dwExpWinVer, IN PUNICODE_STRING pstrAppName, IN DWORD hTaskWow, IN DWORD dwHotkey, IN DWORD idTask, IN DWORD dwX, IN DWORD dwY, IN DWORD dwXSize, IN DWORD dwYSize, IN WORD wShowWindow)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02341">kernel/ntstubs.c:2341</a></div></div>
<div class="ttc" id="aa00362_html_a13013eafde664e46415de7ce33d84e90"><div class="ttname"><a href="a00362.html#a13013eafde664e46415de7ce33d84e90">NtUserGetListboxString</a></div><div class="ttdeci">DWORD NtUserGetListboxString(IN HWND hwnd, IN UINT msg, IN DWORD wParam, IN PLARGE_STRING pString, IN DWORD xParam, IN DWORD xpfn, IN PBOOL pbNotString)</div></div>
<div class="ttc" id="aa00362_html_af13d9d19bd3a37326aac0aec42d8ed0b"><div class="ttname"><a href="a00362.html#af13d9d19bd3a37326aac0aec42d8ed0b">NtUserUpdatePerUserSystemParameters</a></div><div class="ttdeci">BOOL NtUserUpdatePerUserSystemParameters(IN BOOL bUserLoggedOn)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02137">kernel/ntstubs.c:2137</a></div></div>
<div class="ttc" id="aa00362_html_a00dcbcd255ecdc7d3259a30dd0635da1"><div class="ttname"><a href="a00362.html#a00dcbcd255ecdc7d3259a30dd0635da1">NtUserfnCOPYGLOBALDATA</a></div><div class="ttdeci">LONG NtUserfnCOPYGLOBALDATA(HWND hwnd, UINT msg, DWORD wParam, LONG lParam, DWORD xParam, DWORD xpfnProc, BOOL bAnsi)</div></div>
<div class="ttc" id="aa00020_html_adeb42abe763d9eaa7e651e1d8accdb66"><div class="ttname"><a href="a00020.html#adeb42abe763d9eaa7e651e1d8accdb66">szUSER32</a></div><div class="ttdeci">WCHAR szUSER32[]</div><div class="ttdef"><b>Definition:</b> <a href="a00020_source.html#l00050">clglobal.c:50</a></div></div>
<div class="ttc" id="aa00371_html_ad6b24a3d61abdc148c8751b5c5add686"><div class="ttname"><a href="a00371.html#ad6b24a3d61abdc148c8751b5c5add686">RIP_VERBOSE</a></div><div class="ttdeci">#define RIP_VERBOSE</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00030">winerrp.h:30</a></div></div>
<div class="ttc" id="aa03611_html_ac08320cb99ff87cc99ff553e36dc1616"><div class="ttname"><a href="a03611.html#ac08320cb99ff87cc99ff553e36dc1616">ToUnicode</a></div><div class="ttdeci">int ToUnicode(UINT wVirtKey, UINT wScanCode, PBYTE pKeyState, LPWSTR pwszBuff, int cchBuff, UINT wFlags)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01101">client/ntstubs.c:1101</a></div></div>
<div class="ttc" id="aa00359_html_a3431cd5eaf862a002c848fde14535434"><div class="ttname"><a href="a00359.html#a3431cd5eaf862a002c848fde14535434">FIRSTCOPYLPSTRIDOPTW</a></div><div class="ttdeci">#define FIRSTCOPYLPSTRIDOPTW</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00152">ntsend.h:152</a></div></div>
<div class="ttc" id="aa02613_html_a2bacf588d3acbb57f1a40a4925947187"><div class="ttname"><a href="a02613.html#a2bacf588d3acbb57f1a40a4925947187">tagCURSORDATA::lpModName</a></div><div class="ttdeci">LPWSTR lpModName</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01633">user.h:1633</a></div></div>
<div class="ttc" id="aa03611_html_aac62c266c9bae1d384846a7f7182a4ec"><div class="ttname"><a href="a03611.html#aac62c266c9bae1d384846a7f7182a4ec">ConvertMemHandle</a></div><div class="ttdeci">HANDLE ConvertMemHandle(HANDLE hData, UINT cbNULL)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00219">client/ntstubs.c:219</a></div></div>
<div class="ttc" id="aa00359_html_ae80cae7750cd1854ec0f9cfa717e7cd6"><div class="ttname"><a href="a00359.html#ae80cae7750cd1854ec0f9cfa717e7cd6">CLEANUPLPSTRW</a></div><div class="ttdeci">#define CLEANUPLPSTRW(instr)</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00184">ntsend.h:184</a></div></div>
<div class="ttc" id="aa00359_html"><div class="ttname"><a href="a00359.html">ntsend.h</a></div></div>
<div class="ttc" id="aa00365_html_a422181d432442f3ca223ed68ff5585fb"><div class="ttname"><a href="a00365.html#a422181d432442f3ca223ed68ff5585fb">RtlMBMessageWParamCharToWCS</a></div><div class="ttdeci">BOOL RtlMBMessageWParamCharToWCS(DWORD msg, PDWORD pWParam)</div><div class="ttdef"><b>Definition:</b> <a href="a00932_source.html#l00442">chartran.c:442</a></div></div>
<div class="ttc" id="aa01873_html_a21e534193b2fad29e0fe2e823579f6ba"><div class="ttname"><a href="a01873.html#a21e534193b2fad29e0fe2e823579f6ba">_LARGE_IN_STRING::fAllocated</a></div><div class="ttdeci">BOOL fAllocated</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l00298">usercli.h:298</a></div></div>
<div class="ttc" id="aa00362_html_a2b9cfdd2d211b4e3237fb0607fb4c07c"><div class="ttname"><a href="a00362.html#a2b9cfdd2d211b4e3237fb0607fb4c07c">NtUserFindExistingCursorIcon</a></div><div class="ttdeci">HCURSOR NtUserFindExistingCursorIcon(IN PUNICODE_STRING pstrModName, IN PUNICODE_STRING pstrResName, IN PCURSORFIND pcfSearch)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l05745">kernel/ntstubs.c:5745</a></div></div>
<div class="ttc" id="aa02641_html_acb492d29e9933b1378a48aa31c2b7290"><div class="ttname"><a href="a02641.html#acb492d29e9933b1378a48aa31c2b7290">_DLG::lpfnDlg</a></div><div class="ttdeci">WNDPROC lpfnDlg</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l02147">user.h:2147</a></div></div>
<div class="ttc" id="aa00953_html_a392e62da233ed3e2f7c3fd4f487a3896"><div class="ttname"><a href="a00953.html#a392e62da233ed3e2f7c3fd4f487a3896">INT</a></div><div class="ttdeci">int INT</div><div class="ttdef"><b>Definition:</b> <a href="a00953_source.html#l00006">bench.c:6</a></div></div>
<div class="ttc" id="aa03611_html_a2af1fea76a3d4039e988f3b3cb376be8"><div class="ttname"><a href="a03611.html#a2af1fea76a3d4039e988f3b3cb376be8">GetKeyboardLayoutList</a></div><div class="ttdeci">int GetKeyboardLayoutList(int nItems, HKL *lpBuff)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01560">client/ntstubs.c:1560</a></div></div>
<div class="ttc" id="aa02449_html"><div class="ttname"><a href="a02449.html">_LARGE_STRING</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00266">user.h:266</a></div></div>
<div class="ttc" id="aa00362_html_a178ae65d3da5e0725463ee5bd67f5347"><div class="ttname"><a href="a00362.html#a178ae65d3da5e0725463ee5bd67f5347">NtUserFillWindow</a></div><div class="ttdeci">BOOL NtUserFillWindow(IN HWND hwndBrush, IN HWND hwndPaint, IN HDC hdc, IN HBRUSH hbr)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02226">kernel/ntstubs.c:2226</a></div></div>
<div class="ttc" id="aa03611_html_aab0cc30f737042cd8237de7cddea6557"><div class="ttname"><a href="a03611.html#aab0cc30f737042cd8237de7cddea6557">CreateLocalMemHandle</a></div><div class="ttdeci">HANDLE CreateLocalMemHandle(HANDLE hMem)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00260">client/ntstubs.c:260</a></div></div>
<div class="ttc" id="aa00362_html_abe4adfbc8523648f70e07de5d72581ee"><div class="ttname"><a href="a00362.html#abe4adfbc8523648f70e07de5d72581ee">NtUserfnHkINLPCBTCREATESTRUCT</a></div><div class="ttdeci">DWORD NtUserfnHkINLPCBTCREATESTRUCT(IN UINT msg, IN DWORD wParam, IN LPCBT_CREATEWND pcbt, IN PLARGE_UNICODE_STRING pstrName OPTIONAL, IN PUNICODE_STRING pstrClass, IN DWORD xpfnProc)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l09533">kernel/ntstubs.c:9533</a></div></div>
<div class="ttc" id="aa00362_html_a902413da8fe2f87afa282e7b603521a0"><div class="ttname"><a href="a00362.html#a902413da8fe2f87afa282e7b603521a0">NtUserCreateWindowEx</a></div><div class="ttdeci">HWND NtUserCreateWindowEx(IN DWORD dwExStyle, IN PLARGE_STRING pstrClassName, IN PLARGE_STRING pstrWindowName OPTIONAL, IN DWORD dwStyle, IN int x, IN int y, IN int nWidth, IN int nHeight, IN HWND hwndParent, IN HMENU hmenu, IN HANDLE hModule, IN LPVOID pParam, IN DWORD dwFlags, IN LPDWORD pWOW OPTIONAL)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l06362">kernel/ntstubs.c:6362</a></div></div>
<div class="ttc" id="aa00362_html_aee7fc73c943acf6740c2d0bb841b7aba"><div class="ttname"><a href="a00362.html#aee7fc73c943acf6740c2d0bb841b7aba">NtUserSetWindowLong</a></div><div class="ttdeci">LONG NtUserSetWindowLong(IN HWND hwnd, IN int nIndex, IN LONG dwNewLong, IN BOOL bAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l04771">kernel/ntstubs.c:4771</a></div></div>
<div class="ttc" id="aa00371_html_a162a73e20dfabca084a3ebb4581631a8"><div class="ttname"><a href="a00371.html#a162a73e20dfabca084a3ebb4581631a8">UserAssert</a></div><div class="ttdeci">#define UserAssert(exp)</div><div class="ttdef"><b>Definition:</b> <a href="a00950_source.html#l00117">usersrv.h:117</a></div></div>
<div class="ttc" id="aa00371_html_afa5f32de88404289ec03cd2c0e61e94f"><div class="ttname"><a href="a00371.html#afa5f32de88404289ec03cd2c0e61e94f">RIP_ERROR</a></div><div class="ttdeci">#define RIP_ERROR</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00028">winerrp.h:28</a></div></div>
<div class="ttc" id="aa00335_html_ae24d313fd4aac4b6290d993b866f9f71"><div class="ttname"><a href="a00335.html#ae24d313fd4aac4b6290d993b866f9f71">SFI_ISSYNCONLYMESSAGE</a></div><div class="ttdeci">#define SFI_ISSYNCONLYMESSAGE</div><div class="ttdef"><b>Definition:</b> <a href="a00335_source.html#l00016">cscall.h:16</a></div></div>
<div class="ttc" id="aa00365_html_aaad45088258144a066fcea47a43bb325"><div class="ttname"><a href="a00365.html#aaad45088258144a066fcea47a43bb325">PDLG</a></div><div class="ttdeci">struct _DLG * PDLG</div></div>
<div class="ttc" id="aa00371_html_a31aafffb49dfe98bdc749c9b35c90162"><div class="ttname"><a href="a00371.html#a31aafffb49dfe98bdc749c9b35c90162">RIPMSG1</a></div><div class="ttdeci">#define RIPMSG1(flags, szFmt, p1)</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00132">winerrp.h:132</a></div></div>
<div class="ttc" id="aa00362_html_ae4fcc52401bf5ef27b049c6332aa67c1"><div class="ttname"><a href="a00362.html#ae4fcc52401bf5ef27b049c6332aa67c1">NtUserfnINCNTOUTSTRING</a></div><div class="ttdeci">LONG NtUserfnINCNTOUTSTRING(HWND hwnd, UINT msg, DWORD wParam, LONG lParam, DWORD xParam, DWORD xpfnProc, BOOL bAnsi)</div></div>
<div class="ttc" id="aa03287_html_a64204fa04498ea04e098127aa6b121dc"><div class="ttname"><a href="a03287.html#a64204fa04498ea04e098127aa6b121dc">ImmTranslateMessage</a></div><div class="ttdeci">BOOL ImmTranslateMessage(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)</div><div class="ttdef"><b>Definition:</b> <a href="a03287_source.html#l00086">imm/input.c:86</a></div></div>
<div class="ttc" id="aa00362_html_a2623a859f0865b2538bd8c0fa5956871"><div class="ttname"><a href="a00362.html#a2623a859f0865b2538bd8c0fa5956871">NtUserGetKeyState</a></div><div class="ttdeci">SHORT NtUserGetKeyState(IN int vk)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l07744">kernel/ntstubs.c:7744</a></div></div>
<div class="ttc" id="aa00257_html_a8315d2c807ba18ba9e528c40614b6173"><div class="ttname"><a href="a00257.html#a8315d2c807ba18ba9e528c40614b6173">PtiCurrent</a></div><div class="ttdeci">PTHREADINFO PtiCurrent(VOID)</div><div class="ttdef"><b>Definition:</b> <a href="a00263_source.html#l00526">winmgrc.c:526</a></div></div>
<div class="ttc" id="aa03611_html_af3243966cd11b44231f8efbcd2b6e2c1"><div class="ttname"><a href="a03611.html#af3243966cd11b44231f8efbcd2b6e2c1">ThunkedMenuItemInfo</a></div><div class="ttdeci">BOOL ThunkedMenuItemInfo(HMENU hMenu, UINT nPosition, BOOL fByPosition, BOOL fInsert, LPMENUITEMINFOW lpmii, BOOL fAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00440">client/ntstubs.c:440</a></div></div>
<div class="ttc" id="aa00362_html_ad9962fbc8cde4e55bdeff3b63f13ef11"><div class="ttname"><a href="a00362.html#ad9962fbc8cde4e55bdeff3b63f13ef11">NtUserSetWindowRgn</a></div><div class="ttdeci">int NtUserSetWindowRgn(IN HWND hwnd, IN HRGN hRgn, IN BOOL bRedraw)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l05385">kernel/ntstubs.c:5385</a></div></div>
<div class="ttc" id="aa00362_html_a9aac8bdc175ec50e259cda08903a9c28"><div class="ttname"><a href="a00362.html#a9aac8bdc175ec50e259cda08903a9c28">NtUserRedrawWindow</a></div><div class="ttdeci">BOOL NtUserRedrawWindow(IN HWND hwnd, IN CONST RECT *lprcUpdate OPTIONAL, IN HRGN hrgnUpdate, IN UINT flags)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l05322">kernel/ntstubs.c:5322</a></div></div>
<div class="ttc" id="aa00362_html_a8bcb6f70bda654bb485f35633004e318"><div class="ttname"><a href="a00362.html#a8bcb6f70bda654bb485f35633004e318">NtUserfnINLPDRAWITEMSTRUCT</a></div><div class="ttdeci">LONG NtUserfnINLPDRAWITEMSTRUCT(HWND hwnd, UINT msg, DWORD wParam, LONG lParam, DWORD xParam, DWORD xpfnProc, BOOL bAnsi)</div></div>
<div class="ttc" id="aa03743_html_a0a4b4ffaef0371b526a03f68506e6a80"><div class="ttname"><a href="a03743.html#a0a4b4ffaef0371b526a03f68506e6a80">GetDesktopWindow</a></div><div class="ttdeci">HWND GetDesktopWindow(void)</div><div class="ttdef"><b>Definition:</b> <a href="a03743_source.html#l00242">client/wow.c:242</a></div></div>
<div class="ttc" id="aa00359_html_a070de3b9e898b623545fe86566841845"><div class="ttname"><a href="a00359.html#a070de3b9e898b623545fe86566841845">FIRSTLARGECOPYLPSTROPTW</a></div><div class="ttdeci">#define FIRSTLARGECOPYLPSTROPTW</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00159">ntsend.h:159</a></div></div>
<div class="ttc" id="aa00359_html_a97580e2e850a6e8f8f4a72575be9a7b5"><div class="ttname"><a href="a00359.html#a97580e2e850a6e8f8f4a72575be9a7b5">COPYLPSTRIDW</a></div><div class="ttdeci">#define COPYLPSTRIDW(pinstr, psz)</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00091">ntsend.h:91</a></div></div>
<div class="ttc" id="aa00362_html_a5cce676f0ca55ff02d12ab0cf7da8628"><div class="ttname"><a href="a00362.html#a5cce676f0ca55ff02d12ab0cf7da8628">NtUserGetControlColor</a></div><div class="ttdeci">HBRUSH NtUserGetControlColor(IN HWND hwndParent, IN HWND hwndCtl, IN HDC hdc, IN UINT msg)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l03775">kernel/ntstubs.c:3775</a></div></div>
<div class="ttc" id="aa01969_html_a0a2f84ed7838f07779ae24c5a9086d33"><div class="ttname"><a href="a01969.html#a0a2f84ed7838f07779ae24c5a9086d33">tagSHORTCREATE::y</a></div><div class="ttdeci">int y</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02253">usercli.h:2253</a></div></div>
<div class="ttc" id="aa03611_html_a1e05bb7bd2b59bc054e33275a8939907"><div class="ttname"><a href="a03611.html#a1e05bb7bd2b59bc054e33275a8939907">_PeekMessage</a></div><div class="ttdeci">BOOL _PeekMessage(LPMSG pmsg, HWND hwnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg, BOOL bAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00680">client/ntstubs.c:680</a></div></div>
<div class="ttc" id="aa00359_html_a7a523494593d00654f7130108ba58753"><div class="ttname"><a href="a00359.html#a7a523494593d00654f7130108ba58753">COPYLPWSTRID</a></div><div class="ttdeci">#define COPYLPWSTRID(pinstr, psz)</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00196">ntsend.h:196</a></div></div>
<div class="ttc" id="aa00359_html_ac0504301390b9da9ffa31837c7e98215"><div class="ttname"><a href="a00359.html#ac0504301390b9da9ffa31837c7e98215">ENDCALL</a></div><div class="ttdeci">#define ENDCALL(type)</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00047">ntsend.h:47</a></div></div>
<div class="ttc" id="aa00359_html_a62e2c66095c7405ba82d1c9aa13b74c5"><div class="ttname"><a href="a00359.html#a62e2c66095c7405ba82d1c9aa13b74c5">FIRSTCOPYLPWSTR</a></div><div class="ttdeci">#define FIRSTCOPYLPWSTR</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00240">ntsend.h:240</a></div></div>
<div class="ttc" id="aa03611_html_a57b1e03d4f0ecfcebe8af26cf47b840a"><div class="ttname"><a href="a03611.html#a57b1e03d4f0ecfcebe8af26cf47b840a">_SetWindowLong</a></div><div class="ttdeci">LONG _SetWindowLong(HWND hwnd, int nIndex, LONG dwNewLong, BOOL bAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00827">client/ntstubs.c:827</a></div></div>
<div class="ttc" id="aa00362_html_a0558e20d51a993e0aa6c6b91fe05899d"><div class="ttname"><a href="a00362.html#a0558e20d51a993e0aa6c6b91fe05899d">NtUserfnINSTRING</a></div><div class="ttdeci">LONG NtUserfnINSTRING(HWND hwnd, UINT msg, DWORD wParam, LONG lParam, DWORD xParam, DWORD xpfnProc, BOOL bAnsi)</div></div>
<div class="ttc" id="aa01873_html_a2c599c1a95e4ede6787c52ed1af8a59e"><div class="ttname"><a href="a01873.html#a2c599c1a95e4ede6787c52ed1af8a59e">_LARGE_IN_STRING::pstr</a></div><div class="ttdeci">PLARGE_UNICODE_STRING pstr</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l00297">usercli.h:297</a></div></div>
<div class="ttc" id="aa02617_html"><div class="ttname"><a href="a02617.html">tagCURSORFIND</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01654">user.h:1654</a></div></div>
<div class="ttc" id="aa00362_html_aa8c546837483943962e5910f1fbf86be"><div class="ttname"><a href="a00362.html#aa8c546837483943962e5910f1fbf86be">NtUserGetKeyboardLayoutList</a></div><div class="ttdeci">UINT NtUserGetKeyboardLayoutList(IN UINT nItems, OUT HKL *lpBuff)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l07176">kernel/ntstubs.c:7176</a></div></div>
<div class="ttc" id="aa00200_html_aeb80a263a1795a525abe1f4b2df48941"><div class="ttname"><a href="a00200.html#aeb80a263a1795a525abe1f4b2df48941">MDICompleteChildCreation</a></div><div class="ttdeci">BOOL MDICompleteChildCreation(HWND hwndChild, HMENU hSysMenu, BOOL fVisible, BOOL fDisabled)</div><div class="ttdef"><b>Definition:</b> <a href="a00200_source.html#l02489">mdiwin.c:2489</a></div></div>
<div class="ttc" id="aa00362_html_af141ffb3fbfc304d2a5100cf3b8a3d50"><div class="ttname"><a href="a00362.html#af141ffb3fbfc304d2a5100cf3b8a3d50">NtUserSetWindowStationUser</a></div><div class="ttdeci">UINT NtUserSetWindowStationUser(IN HWINSTA hWindowStation, IN PLUID pLuidUser, IN PSID pSidUser OPTIONAL, IN DWORD cbSidUser)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l05616">kernel/ntstubs.c:5616</a></div></div>
<div class="ttc" id="aa01933_html"><div class="ttname"><a href="a01933.html">tagLBWND</a></div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l01030">usercli.h:1030</a></div></div>
<div class="ttc" id="aa00359_html_a790070c3881a7af9750daf773de8c6dd"><div class="ttname"><a href="a00359.html#a790070c3881a7af9750daf773de8c6dd">FIRSTCOPYLPSTRW</a></div><div class="ttdeci">#define FIRSTCOPYLPSTRW(pinstr, psz)</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00136">ntsend.h:136</a></div></div>
<div class="ttc" id="aa00359_html_a3831a9eac5010f7a6a5465223f08b6f8"><div class="ttname"><a href="a00359.html#a3831a9eac5010f7a6a5465223f08b6f8">FIRSTCOPYLPWSTROPT</a></div><div class="ttdeci">#define FIRSTCOPYLPWSTROPT</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00243">ntsend.h:243</a></div></div>
<div class="ttc" id="aa00026_html_a18b9b48b567ab5010e350cbab8fa27ca"><div class="ttname"><a href="a00026.html#a18b9b48b567ab5010e350cbab8fa27ca">LoadPreloadKeyboardLayouts</a></div><div class="ttdeci">VOID LoadPreloadKeyboardLayouts(void)</div><div class="ttdef"><b>Definition:</b> <a href="a00026_source.html#l03378">client.c:3378</a></div></div>
<div class="ttc" id="aa00359_html_a1f726cdbff32c73345a4fbbd675366e0"><div class="ttname"><a href="a00359.html#a1f726cdbff32c73345a4fbbd675366e0">ERRORTRAP</a></div><div class="ttdeci">#define ERRORTRAP(error)</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00035">ntsend.h:35</a></div></div>
<div class="ttc" id="aa00362_html_a8c275bb67c8072f2bdf5edb0cfe4e6ed"><div class="ttname"><a href="a00362.html#a8c275bb67c8072f2bdf5edb0cfe4e6ed">NtUserSetCursorIconData</a></div><div class="ttdeci">BOOL NtUserSetCursorIconData(IN HCURSOR hCursor, IN PUNICODE_STRING pstrModName, IN PUNICODE_STRING pstrResName, IN PCURSORDATA pData, IN DWORD cbData)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l05800">kernel/ntstubs.c:5800</a></div></div>
<div class="ttc" id="aa00371_html_ae61d954062a9ece52e350e54cad9a23d"><div class="ttname"><a href="a00371.html#ae61d954062a9ece52e350e54cad9a23d">RIPERR0</a></div><div class="ttdeci">#define RIPERR0(idErr, flags, szFmt)</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00119">winerrp.h:119</a></div></div>
<div class="ttc" id="aa01869_html_a21e534193b2fad29e0fe2e823579f6ba"><div class="ttname"><a href="a01869.html#a21e534193b2fad29e0fe2e823579f6ba">_IN_STRING::fAllocated</a></div><div class="ttdeci">BOOL fAllocated</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l00292">usercli.h:292</a></div></div>
<div class="ttc" id="aa02449_html_a372d153f4b52e56d80dfa3eba11db02b"><div class="ttname"><a href="a02449.html#a372d153f4b52e56d80dfa3eba11db02b">_LARGE_STRING::Buffer</a></div><div class="ttdeci">PVOID Buffer</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00270">user.h:270</a></div></div>
<div class="ttc" id="aa02449_html_abfb371817eb1c8f0d8a165bb2b798092"><div class="ttname"><a href="a02449.html#abfb371817eb1c8f0d8a165bb2b798092">_LARGE_STRING::Length</a></div><div class="ttdeci">ULONG Length</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00267">user.h:267</a></div></div>
<div class="ttc" id="aa00026_html_a65777ad273ebbc9f15685157f4634b3e"><div class="ttname"><a href="a00026.html#a65777ad273ebbc9f15685157f4634b3e">LoadKeyboardLayoutW</a></div><div class="ttdeci">HKL LoadKeyboardLayoutW(LPCWSTR lpszKLName, UINT uFlags)</div><div class="ttdef"><b>Definition:</b> <a href="a00026_source.html#l03678">client.c:3678</a></div></div>
<div class="ttc" id="aa03611_html_a08137d4f288cd063795d1ac36f55d1bb"><div class="ttname"><a href="a03611.html#a08137d4f288cd063795d1ac36f55d1bb">hPMCachedHKL</a></div><div class="ttdeci">static HKL hPMCachedHKL</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00677">client/ntstubs.c:677</a></div></div>
<div class="ttc" id="aa00953_html_aebb9e13210d88d43e32e735ada43a425"><div class="ttname"><a href="a00953.html#aebb9e13210d88d43e32e735ada43a425">CHAR</a></div><div class="ttdeci">char CHAR</div><div class="ttdef"><b>Definition:</b> <a href="a00953_source.html#l00007">bench.c:7</a></div></div>
<div class="ttc" id="aa03611_html_accd52159dd42c3134f2041236147034b"><div class="ttname"><a href="a03611.html#accd52159dd42c3134f2041236147034b">SetSystemCursor</a></div><div class="ttdeci">BOOL SetSystemCursor(HCURSOR hcur, DWORD id)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01196">client/ntstubs.c:1196</a></div></div>
<div class="ttc" id="aa00362_html_a7b4eeea8ff48cbe225b5b710c96ba22c"><div class="ttname"><a href="a00362.html#a7b4eeea8ff48cbe225b5b710c96ba22c">NtUserWOWFindWindow</a></div><div class="ttdeci">HWND NtUserWOWFindWindow(IN PUNICODE_STRING lpClassName OPTIONAL, IN PUNICODE_STRING lpWindowName OPTIONAL)</div></div>
<div class="ttc" id="aa03611_html_a515df4c95758f452c5d97dfaa446f842"><div class="ttname"><a href="a03611.html#a515df4c95758f452c5d97dfaa446f842">OpenClipboard</a></div><div class="ttdeci">BOOL OpenClipboard(HWND hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00661">client/ntstubs.c:661</a></div></div>
<div class="ttc" id="aa00026_html_a419502c690ecadea2ef606382c5cd028"><div class="ttname"><a href="a00026.html#a419502c690ecadea2ef606382c5cd028">ClientEmptyClipboard</a></div><div class="ttdeci">void ClientEmptyClipboard(void)</div><div class="ttdef"><b>Definition:</b> <a href="a00026_source.html#l00286">client.c:286</a></div></div>
<div class="ttc" id="aa03611_html_a231fdf82918c11fa7049f9485fc1fb06"><div class="ttname"><a href="a03611.html#a231fdf82918c11fa7049f9485fc1fb06">_LoadKeyboardLayoutEx</a></div><div class="ttdeci">HKL _LoadKeyboardLayoutEx(HANDLE hFile, UINT offTable, HKL hkl, LPCTSTR pwszKL, UINT KbdInputLocale, UINT Flags)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01528">client/ntstubs.c:1528</a></div></div>
<div class="ttc" id="aa03611_html_a9075e083dfa56cd0e3c1442f14a179a3"><div class="ttname"><a href="a03611.html#a9075e083dfa56cd0e3c1442f14a179a3">SetWindowRgn</a></div><div class="ttdeci">BOOL SetWindowRgn(HWND hwnd, HRGN hrgn, BOOL bRedraw)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01061">client/ntstubs.c:1061</a></div></div>
<div class="ttc" id="aa00362_html_a647a063b95c5c3906d3edaa2c8bec609"><div class="ttname"><a href="a00362.html#a647a063b95c5c3906d3edaa2c8bec609">NtUserSetSystemCursor</a></div><div class="ttdeci">BOOL NtUserSetSystemCursor(IN HCURSOR hcur, IN DWORD id)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l05676">kernel/ntstubs.c:5676</a></div></div>
<div class="ttc" id="aa00362_html_a1f4fd2ae8a50bfca05947460482ceaea"><div class="ttname"><a href="a00362.html#a1f4fd2ae8a50bfca05947460482ceaea">NtUserInternalGetWindowText</a></div><div class="ttdeci">int NtUserInternalGetWindowText(IN HWND hwnd, OUT LPWSTR lpString, IN int nMaxCount)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l05455">kernel/ntstubs.c:5455</a></div></div>
<div class="ttc" id="aa00359_html_acd4d06b14220f8bc76a7e28664d7f237"><div class="ttname"><a href="a00359.html#acd4d06b14220f8bc76a7e28664d7f237">COPYLPWSTR</a></div><div class="ttdeci">#define COPYLPWSTR(pinstr, psz)</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00191">ntsend.h:191</a></div></div>
<div class="ttc" id="aa00065_html_a425e5d40f330cc882cc1c61a46f7fde9"><div class="ttname"><a href="a00065.html#a425e5d40f330cc882cc1c61a46f7fde9">MSGERROR</a></div><div class="ttdeci">#define MSGERROR()</div><div class="ttdef"><b>Definition:</b> <a href="a00065_source.html#l00067">crecv.c:67</a></div></div>
<div class="ttc" id="aa01969_html_a309bf8d531939eba86ac4913eb0863d5"><div class="ttname"><a href="a01969.html#a309bf8d531939eba86ac4913eb0863d5">tagSHORTCREATE::hMenu</a></div><div class="ttdeci">HMENU hMenu</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02256">usercli.h:2256</a></div></div>
<div class="ttc" id="aa01969_html_a6150e0515f7202e2fb518f7206ed97dc"><div class="ttname"><a href="a01969.html#a6150e0515f7202e2fb518f7206ed97dc">tagSHORTCREATE::x</a></div><div class="ttdeci">int x</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02254">usercli.h:2254</a></div></div>
<div class="ttc" id="aa00563_html_a074685e97e89d6aa2accdfcb82328699"><div class="ttname"><a href="a00563.html#a074685e97e89d6aa2accdfcb82328699">DWORD</a></div><div class="ttdeci">ddeml v[i&lt; inst &gt;][t&lt; type &gt;][hObj|pObj] Dump DDEML state information ddeml lists all ddeml instances for this process n ddeml t&lt; type &gt; lists all ddeml objects of the given type n n assumes link is first DWORD</div><div class="ttdef"><b>Definition:</b> <a href="a00563_source.html#l00175">exts.h:175</a></div></div>
<div class="ttc" id="aa02613_html"><div class="ttname"><a href="a02613.html">tagCURSORDATA</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01630">user.h:1630</a></div></div>
<div class="ttc" id="aa00362_html_a384a73468194dd5fff52fb40eb199bd5"><div class="ttname"><a href="a00362.html#a384a73468194dd5fff52fb40eb199bd5">NtUserCallTwoParam</a></div><div class="ttdeci">DWORD NtUserCallTwoParam(DWORD dwParam1, DWORD dwParam2, IN DWORD xpfnProc)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l03352">kernel/ntstubs.c:3352</a></div></div>
<div class="ttc" id="aa00362_html_a1e89f859e272700a048cdfaa8d20c612"><div class="ttname"><a href="a00362.html#a1e89f859e272700a048cdfaa8d20c612">NtUserTranslateMessage</a></div><div class="ttdeci">BOOL NtUserTranslateMessage(IN CONST MSG *lpMsg, IN UINT flags)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l05022">kernel/ntstubs.c:5022</a></div></div>
<div class="ttc" id="aa00362_html_a8c75bd9b68bedf02a25b8d9305c746d3"><div class="ttname"><a href="a00362.html#a8c75bd9b68bedf02a25b8d9305c746d3">NtUserCreateLocalMemHandle</a></div><div class="ttdeci">NTSTATUS NtUserCreateLocalMemHandle(IN HANDLE hMem, OUT LPBYTE lpData OPTIONAL, IN UINT cbData, OUT PUINT lpcbNeeded OPTIONAL)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02503">kernel/ntstubs.c:2503</a></div></div>
<div class="ttc" id="aa00359_html_abac5d7aa2e60b2f7c6ebe22f1f07728c"><div class="ttname"><a href="a00359.html#abac5d7aa2e60b2f7c6ebe22f1f07728c">COPYLPWSTROPT</a></div><div class="ttdeci">#define COPYLPWSTROPT</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00208">ntsend.h:208</a></div></div>
<div class="ttc" id="aa00362_html_a064e0422b0e79b43ba2c6caa1106321f"><div class="ttname"><a href="a00362.html#a064e0422b0e79b43ba2c6caa1106321f">NtUserfnINSIZECLIPBRD</a></div><div class="ttdeci">LONG NtUserfnINSIZECLIPBRD(HWND hwnd, UINT msg, DWORD wParam, LONG lParam, DWORD xParam, DWORD xpfnProc, BOOL bAnsi)</div></div>
<div class="ttc" id="aa00362_html_add4262781da1b05fc492b478a0fcdef0"><div class="ttname"><a href="a00362.html#add4262781da1b05fc492b478a0fcdef0">NtUserfnINLPMDICREATESTRUCT</a></div><div class="ttdeci">LONG NtUserfnINLPMDICREATESTRUCT(HWND hwnd, UINT msg, DWORD wParam, LONG lParam, PUNICODE_STRING pstrClass, PUNICODE_STRING pstrTitle, DWORD xParam, DWORD xpfnProc, BOOL bAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l08528">kernel/ntstubs.c:8528</a></div></div>
<div class="ttc" id="aa00362_html_afddc374b48eebdc2365c459778ebd910"><div class="ttname"><a href="a00362.html#afddc374b48eebdc2365c459778ebd910">NtUserToUnicodeEx</a></div><div class="ttdeci">int NtUserToUnicodeEx(IN UINT wVirtKey, IN UINT wScanCode, IN PBYTE lpKeyState, OUT LPWSTR lpszBuff, IN int cchBuff, IN UINT wFlags, IN HKL hKeyboardLayout)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l05490">kernel/ntstubs.c:5490</a></div></div>
<div class="ttc" id="aa00011_html_a87e3aa8d367f5db5978419a8217275d0"><div class="ttname"><a href="a00011.html#a87e3aa8d367f5db5978419a8217275d0">_GetClassData</a></div><div class="ttdeci">DWORD _GetClassData(PCLS pcls, PWND pwnd, int index, BOOL bAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a00011_source.html#l00100">classc.c:100</a></div></div>
<div class="ttc" id="aa00359_html_a9e4402bad5d48ea5725b8748a3be3350"><div class="ttname"><a href="a00359.html#a9e4402bad5d48ea5725b8748a3be3350">FIRSTCOPYLPSTROPTW</a></div><div class="ttdeci">#define FIRSTCOPYLPSTROPTW</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00153">ntsend.h:153</a></div></div>
<div class="ttc" id="aa00362_html_add324e0feabb71c0b2e45616f801490a"><div class="ttname"><a href="a00362.html#add324e0feabb71c0b2e45616f801490a">NtUserThunkedMenuItemInfo</a></div><div class="ttdeci">BOOL NtUserThunkedMenuItemInfo(IN HMENU hMenu, OUT UINT nPosition, IN BOOL fByPosition, IN BOOL fInsert, IN LPMENUITEMINFOW lpmii OPTIONAL, IN PUNICODE_STRING pstrItem OPTIONAL, IN BOOL fAnsi)</div></div>
<div class="ttc" id="aa02581_html"><div class="ttname"><a href="a02581.html">tagWND</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01388">user.h:1388</a></div></div>
<div class="ttc" id="aa03218_html_aa4a3b004dd5a64b5e7d718f525a86db6"><div class="ttname"><a href="a03218.html#aa4a3b004dd5a64b5e7d718f525a86db6">IsMetaFile</a></div><div class="ttdeci">BOOL IsMetaFile(HDC hdc)</div><div class="ttdef"><b>Definition:</b> <a href="a03218_source.html#l00027">client/drawtext.c:27</a></div></div>
<div class="ttc" id="aa02557_html_a3edd15123eefa8ad8e6ad3a87c7e6b96"><div class="ttname"><a href="a02557.html#a3edd15123eefa8ad8e6ad3a87c7e6b96">_CALLPROCDATA::pfnClientPrevious</a></div><div class="ttdeci">DWORD pfnClientPrevious</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01250">user.h:1250</a></div></div>
<div class="ttc" id="aa00362_html_a38b3d677d935dc83a650cbc7be2be3d7"><div class="ttname"><a href="a00362.html#a38b3d677d935dc83a650cbc7be2be3d7">NtUserfnINLPCREATESTRUCT</a></div><div class="ttdeci">LONG NtUserfnINLPCREATESTRUCT(HWND hwnd, UINT msg, DWORD wParam, LONG lParam, DWORD xParam, DWORD xpfnProc, BOOL bAnsi)</div></div>
<div class="ttc" id="aa02497_html_a4d2f405b1141000eb2af256e0fc8b98b"><div class="ttname"><a href="a02497.html#a4d2f405b1141000eb2af256e0fc8b98b">BROADCASTSYSTEMMSGPARAMS::dwFlags</a></div><div class="ttdeci">DWORD dwFlags</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00613">user.h:613</a></div></div>
<div class="ttc" id="aa03611_html_abfc832913f8578ba8a06e1c97b32eac0"><div class="ttname"><a href="a03611.html#abfc832913f8578ba8a06e1c97b32eac0">GetControlColor</a></div><div class="ttdeci">HBRUSH GetControlColor(HWND hwndParent, HWND hwndCtl, HDC hdc, UINT msg)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00641">client/ntstubs.c:641</a></div></div>
<div class="ttc" id="aa00362_html_a09a15998194ac21c332cf1ee26144e62"><div class="ttname"><a href="a00362.html#a09a15998194ac21c332cf1ee26144e62">NtUserPaintDesktop</a></div><div class="ttdeci">BOOL NtUserPaintDesktop(IN HDC hdc)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l03692">kernel/ntstubs.c:3692</a></div></div>
<div class="ttc" id="aa03611_html_af07d64128d87da9eca6afaaf0267ed3c"><div class="ttname"><a href="a03611.html#af07d64128d87da9eca6afaaf0267ed3c">FindExistingCursorIcon</a></div><div class="ttdeci">HCURSOR FindExistingCursorIcon(LPWSTR pszModName, LPCWSTR pszResName, PCURSORFIND pcfSearch)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01220">client/ntstubs.c:1220</a></div></div>
<div class="ttc" id="aa02477_html_afa3b241414302ef535a64eccfcda0aaa"><div class="ttname"><a href="a02477.html#afa3b241414302ef535a64eccfcda0aaa">_CLIENTINFO::afAsyncKeyStateRecentDown</a></div><div class="ttdeci">BYTE afAsyncKeyStateRecentDown[CBASYNCKEYCACHE]</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00393">user.h:393</a></div></div>
<div class="ttc" id="aa00371_html_a41f433389f20db57f042022a662e96de"><div class="ttname"><a href="a00371.html#a41f433389f20db57f042022a662e96de">RIP_WARNING</a></div><div class="ttdeci">#define RIP_WARNING</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00029">winerrp.h:29</a></div></div>
<div class="ttc" id="aa02477_html_af022f477dc1c3ff919fb27200fadcbca"><div class="ttname"><a href="a02477.html#af022f477dc1c3ff919fb27200fadcbca">_CLIENTINFO::dwAsyncKeyCache</a></div><div class="ttdeci">DWORD dwAsyncKeyCache</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00391">user.h:391</a></div></div>
<div class="ttc" id="aa02449_html_af4ab07640de8950ca1f439bb34be4b53"><div class="ttname"><a href="a02449.html#af4ab07640de8950ca1f439bb34be4b53">_LARGE_STRING::bAnsi</a></div><div class="ttdeci">ULONG bAnsi</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00269">user.h:269</a></div></div>
<div class="ttc" id="aa00290_html_a57534b163256da047704429045116132"><div class="ttname"><a href="a00290.html#a57534b163256da047704429045116132">ImmInitializeHotKeys</a></div><div class="ttdeci">VOID ImmInitializeHotKeys(BOOL bUserLoggedOn)</div><div class="ttdef"><b>Definition:</b> <a href="a00290_source.html#l00086">hotkey.c:86</a></div></div>
<div class="ttc" id="aa00365_html_a4dddfac60ddaa5a11f91719826b7b270"><div class="ttname"><a href="a00365.html#a4dddfac60ddaa5a11f91719826b7b270">RtlInitLargeUnicodeString</a></div><div class="ttdeci">VOID RtlInitLargeUnicodeString(PLARGE_UNICODE_STRING plstr, LPCWSTR psz, UINT cchLimit)</div><div class="ttdef"><b>Definition:</b> <a href="a00932_source.html#l00587">chartran.c:587</a></div></div>
<div class="ttc" id="aa03611_html_a96486a50ad3a60d9caa22928d14f7b74"><div class="ttname"><a href="a03611.html#a96486a50ad3a60d9caa22928d14f7b74">DrawCaption</a></div><div class="ttdeci">BOOL DrawCaption(HWND hwnd, HDC hdc, CONST RECT *lprc, UINT flags)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00523">client/ntstubs.c:523</a></div></div>
<div class="ttc" id="aa00362_html_a7dde70b4cb3b6982f1da62b0c98a35c7"><div class="ttname"><a href="a00362.html#a7dde70b4cb3b6982f1da62b0c98a35c7">NtUserSetWindowsHookEx</a></div><div class="ttdeci">HHOOK NtUserSetWindowsHookEx(IN HANDLE hmod, IN PUNICODE_STRING pstrLib OPTIONAL, IN DWORD idThread, IN int nFilterType, IN PROC pfnFilterProc, IN BOOL bAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02543">kernel/ntstubs.c:2543</a></div></div>
<div class="ttc" id="aa00362_html_ab3ac437086ab697c26bcfe5fe88e9eaf"><div class="ttname"><a href="a00362.html#ab3ac437086ab697c26bcfe5fe88e9eaf">NtUserfnDWORD</a></div><div class="ttdeci">LONG NtUserfnDWORD(HWND hwnd, UINT msg, DWORD wParam, LONG lParam, DWORD xParam, DWORD xpfnProc, BOOL bAnsi)</div></div>
<div class="ttc" id="aa03611_html_a446430ee61b1f45901b57c647589ba37"><div class="ttname"><a href="a03611.html#a446430ee61b1f45901b57c647589ba37">SetSysColors</a></div><div class="ttdeci">WINUSERAPI BOOL WINAPI SetSysColors(int cElements, CONST INT *lpaElements, CONST COLORREF *lpaRgbValues)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00023">client/ntstubs.c:23</a></div></div>
<div class="ttc" id="aa02513_html_a125933441b95aca04386827b052dfe42"><div class="ttname"><a href="a02513.html#a125933441b95aca04386827b052dfe42">tagSERVERINFO::dwKeyCache</a></div><div class="ttdeci">DWORD dwKeyCache</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01046">user.h:1046</a></div></div>
<div class="ttc" id="aa03611_html_a42b71a3f5ca7212d3dc3f623cb603852"><div class="ttname"><a href="a03611.html#a42b71a3f5ca7212d3dc3f623cb603852">BroadcastSystemMessageWorker</a></div><div class="ttdeci">LONG BroadcastSystemMessageWorker(DWORD dwFlags, LPDWORD lpdwRecipients, UINT message, WPARAM wParam, LPARAM lParam, BOOL fAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l02160">client/ntstubs.c:2160</a></div></div>
<div class="ttc" id="aa02477_html_a53ba59792bf01755b94c8c7189c08b26"><div class="ttname"><a href="a02477.html#a53ba59792bf01755b94c8c7189c08b26">_CLIENTINFO::afAsyncKeyState</a></div><div class="ttdeci">BYTE afAsyncKeyState[CBASYNCKEYCACHE]</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00392">user.h:392</a></div></div>
<div class="ttc" id="aa03611_html_a2a39ced7839ed0c5501c9fde2f3a930b"><div class="ttname"><a href="a03611.html#a2a39ced7839ed0c5501c9fde2f3a930b">_DefSetText</a></div><div class="ttdeci">BOOL _DefSetText(HWND hwnd, LPCWSTR lpszText, BOOL bAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01291">client/ntstubs.c:1291</a></div></div>
<div class="ttc" id="aa02477_html_a8ffaac83d131a1995aede8f5617f8cda"><div class="ttname"><a href="a02477.html#a8ffaac83d131a1995aede8f5617f8cda">_CLIENTINFO::afKeyState</a></div><div class="ttdeci">BYTE afKeyState[CBKEYCACHE]</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00390">user.h:390</a></div></div>
<div class="ttc" id="aa03611_html_a4dfda995bf0f082361527377e6e63833"><div class="ttname"><a href="a03611.html#a4dfda995bf0f082361527377e6e63833">RedrawWindow</a></div><div class="ttdeci">BOOL RedrawWindow(HWND hwnd, CONST RECT *prcUpdate, HRGN hrgnUpdate, UINT flags)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01037">client/ntstubs.c:1037</a></div></div>
<div class="ttc" id="aa03611_html_adb01468dcc03a2060142698064c6b45a"><div class="ttname"><a href="a03611.html#adb01468dcc03a2060142698064c6b45a">PaintDesktop</a></div><div class="ttdeci">BOOL PaintDesktop(HDC hdc)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00545">client/ntstubs.c:545</a></div></div>
<div class="ttc" id="aa00293_html_a41d387d1b2d42169cbaa2092c8a02abf"><div class="ttname"><a href="a00293.html#a41d387d1b2d42169cbaa2092c8a02abf">ValidateHwnd</a></div><div class="ttdeci">#define ValidateHwnd(hwnd)</div><div class="ttdef"><b>Definition:</b> <a href="a00293_source.html#l00090">immcli.h:90</a></div></div>
<div class="ttc" id="aa00359_html_ab33cfda3259b4d21390d77ee9968babc"><div class="ttname"><a href="a00359.html#ab33cfda3259b4d21390d77ee9968babc">FIRSTLARGECOPYLPWSTROPT</a></div><div class="ttdeci">#define FIRSTLARGECOPYLPWSTROPT</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00246">ntsend.h:246</a></div></div>
<div class="ttc" id="aa00026_html_afeedc7ce2c7778f420d0357f1ef24e6e"><div class="ttname"><a href="a00026.html#afeedc7ce2c7778f420d0357f1ef24e6e">GetActiveKeyboardName</a></div><div class="ttdeci">VOID GetActiveKeyboardName(LPWSTR lpszName)</div><div class="ttdef"><b>Definition:</b> <a href="a00026_source.html#l03175">client.c:3175</a></div></div>
<div class="ttc" id="aa00362_html_a9ce6d1371b17104ac26b7c59361ac5d8"><div class="ttname"><a href="a00362.html#a9ce6d1371b17104ac26b7c59361ac5d8">NtUserGetAsyncKeyState</a></div><div class="ttdeci">SHORT NtUserGetAsyncKeyState(IN int vKey)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l03711">kernel/ntstubs.c:3711</a></div></div>
<div class="ttc" id="aa00359_html_a615554c92a9a54fcb3550fa2714dbe82"><div class="ttname"><a href="a00359.html#a615554c92a9a54fcb3550fa2714dbe82">BEGINCALL</a></div><div class="ttdeci">#define BEGINCALL()</div><div class="ttdef"><b>Definition:</b> <a href="a00359_source.html#l00027">ntsend.h:27</a></div></div>
<div class="ttc" id="aa00365_html_ab993ad57b0d56b4f9b64df02256b611c"><div class="ttname"><a href="a00365.html#ab993ad57b0d56b4f9b64df02256b611c">HMValidateHandleNoRip</a></div><div class="ttdeci">PVOID FASTCALL HMValidateHandleNoRip(HANDLE h, BYTE btype)</div><div class="ttdef"><b>Definition:</b> <a href="a03752_source.html#l00303">rtl/wow.c:303</a></div></div>
<div class="ttc" id="aa00362_html_a7633ea4457dac1e80327ab6b6ea7ca36"><div class="ttname"><a href="a00362.html#a7633ea4457dac1e80327ab6b6ea7ca36">NtUserEvent</a></div><div class="ttdeci">DWORD NtUserEvent(IN PEVENT_PACKET pep)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02205">kernel/ntstubs.c:2205</a></div></div>
<div class="ttc" id="aa01969_html_ad36501a70b25e18bcf48dd6e03392305"><div class="ttname"><a href="a01969.html#ad36501a70b25e18bcf48dd6e03392305">tagSHORTCREATE::cy</a></div><div class="ttdeci">int cy</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02251">usercli.h:2251</a></div></div>
<div class="ttc" id="aa02497_html"><div class="ttname"><a href="a02497.html">BROADCASTSYSTEMMSGPARAMS</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00611">user.h:611</a></div></div>
<div class="ttc" id="aa00257_html_a13354e013c46028ae8ddca8e44eef758"><div class="ttname"><a href="a00257.html#a13354e013c46028ae8ddca8e44eef758">ValidateMENUINFO</a></div><div class="ttdeci">BOOL ValidateMENUINFO(LPCMENUINFO lpmi, WORD wAPICode)</div></div>
<div class="ttc" id="aa00362_html_af4d1913a236addada637eed787bcd56a"><div class="ttname"><a href="a00362.html#af4d1913a236addada637eed787bcd56a">NtUserLoadKeyboardLayoutEx</a></div><div class="ttdeci">HKL NtUserLoadKeyboardLayoutEx(IN HANDLE hFile, IN DWORD offTable, IN HKL hkl, IN PUNICODE_STRING pstrKLID, IN UINT KbdInputLocale, IN UINT Flags)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l06667">kernel/ntstubs.c:6667</a></div></div>
<div class="ttc" id="aa03611_html_a362385ba8a36ad5292508d7b46c5abfe"><div class="ttname"><a href="a03611.html#a362385ba8a36ad5292508d7b46c5abfe">_SetWindowsHookEx</a></div><div class="ttdeci">HHOOK _SetWindowsHookEx(HANDLE hmod, LPTSTR pszLib, DWORD idThread, int nFilterType, PROC pfnFilterProc, BOOL bAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00288">client/ntstubs.c:288</a></div></div>
<div class="ttc" id="aa00041_html_af167d292a5583dfe18f5dac20309bb25"><div class="ttname"><a href="a00041.html#af167d292a5583dfe18f5dac20309bb25">GetCPD</a></div><div class="ttdeci">DWORD GetCPD(PVOID pWndOrCls, DWORD options, DWORD dwData)</div><div class="ttdef"><b>Definition:</b> <a href="a00041_source.html#l01916">clmsg.c:1916</a></div></div>
<div class="ttc" id="aa03608_html_afd1a0e78d1f88954d93e48ab3821781f"><div class="ttname"><a href="a03608.html#afd1a0e78d1f88954d93e48ab3821781f">UINT</a></div><div class="ttdeci">typedef UINT(FAR WINAPI *MSGSOUNDPROC)()</div></div>
<div class="ttc" id="aa03611_html_a85f7b6c1d3c04bdf3a84259eb85cf745"><div class="ttname"><a href="a03611.html#a85f7b6c1d3c04bdf3a84259eb85cf745">InternalGetWindowText</a></div><div class="ttdeci">BOOL InternalGetWindowText(HWND hwnd, LPWSTR pString, int cchMaxCount)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01081">client/ntstubs.c:1081</a></div></div>
<div class="ttc" id="aa03620_html"><div class="ttname"><a href="a03620.html">precomp.h</a></div></div>
<div class="ttc" id="aa00365_html_aa453bfba298bc156c84c4a04a89b4436"><div class="ttname"><a href="a00365.html#aa453bfba298bc156c84c4a04a89b4436">PLARGE_STRING</a></div><div class="ttdeci">struct _LARGE_STRING * PLARGE_STRING</div></div>
<div class="ttc" id="aa03611_html_a1739e6af6628e46741d571eab433ff41"><div class="ttname"><a href="a03611.html#a1739e6af6628e46741d571eab433ff41">SetWindowStationUser</a></div><div class="ttdeci">BOOL SetWindowStationUser(HWINSTA hwinsta, PLUID pluidUser, PSID psidUser, DWORD cbsidUser)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01156">client/ntstubs.c:1156</a></div></div>
<div class="ttc" id="aa02641_html_a29bb851466268efcf57e7e81e2d0ab09"><div class="ttname"><a href="a02641.html#a29bb851466268efcf57e7e81e2d0ab09">_DLG::flags</a></div><div class="ttdeci">DWORD flags</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l02148">user.h:2148</a></div></div>
<div class="ttc" id="aa00362_html_a48925cef523f45bf7361df13d2349c90"><div class="ttname"><a href="a00362.html#a48925cef523f45bf7361df13d2349c90">NtUserfnINPAINTCLIPBRD</a></div><div class="ttdeci">LONG NtUserfnINPAINTCLIPBRD(HWND hwnd, UINT msg, DWORD wParam, LONG lParam, DWORD xParam, DWORD xpfnProc, BOOL bAnsi)</div></div>
<div class="ttc" id="aa03611_html_a4f3bff0221432a8189a2cb1342966517"><div class="ttname"><a href="a03611.html#a4f3bff0221432a8189a2cb1342966517">RegisterHotKey</a></div><div class="ttdeci">BOOL RegisterHotKey(HWND hwnd, int id, UINT fsModifiers, UINT vk)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00806">client/ntstubs.c:806</a></div></div>
<div class="ttc" id="aa00677_html_aca74961d0036b8ae855be8a9234df247"><div class="ttname"><a href="a00677.html#aca74961d0036b8ae855be8a9234df247">pep</a></div><div class="ttdeci">#define pep</div></div>
<div class="ttc" id="aa03611_html_afc84f56ed1c172ca9323fb40ecb7a427"><div class="ttname"><a href="a03611.html#afc84f56ed1c172ca9323fb40ecb7a427">TranslateMessageEx</a></div><div class="ttdeci">BOOL TranslateMessageEx(CONST MSG *pmsg, UINT flags)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00983">client/ntstubs.c:983</a></div></div>
<div class="ttc" id="aa02489_html"><div class="ttname"><a href="a02489.html">tagEVENT_PACKET</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00509">user.h:509</a></div></div>
<div class="ttc" id="aa01869_html_a4c18e984366112a802ac2789fe64cc87"><div class="ttname"><a href="a01869.html#a4c18e984366112a802ac2789fe64cc87">_IN_STRING::pstr</a></div><div class="ttdeci">PUNICODE_STRING pstr</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l00291">usercli.h:291</a></div></div>
<div class="ttc" id="aa02477_html_a125933441b95aca04386827b052dfe42"><div class="ttname"><a href="a02477.html#a125933441b95aca04386827b052dfe42">_CLIENTINFO::dwKeyCache</a></div><div class="ttdeci">DWORD dwKeyCache</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00389">user.h:389</a></div></div>
<div class="ttc" id="aa00371_html_adbdd8355d15a97b6f3a9e4766e6a2cc1"><div class="ttname"><a href="a00371.html#adbdd8355d15a97b6f3a9e4766e6a2cc1">RIPERR1</a></div><div class="ttdeci">#define RIPERR1(idErr, flags, szFmt, p1)</div><div class="ttdef"><b>Definition:</b> <a href="a00371_source.html#l00120">winerrp.h:120</a></div></div>
<div class="ttc" id="aa01969_html_aa68195bea010296f58019dd25038d440"><div class="ttname"><a href="a01969.html#aa68195bea010296f58019dd25038d440">tagSHORTCREATE::style</a></div><div class="ttdeci">LONG style</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02255">usercli.h:2255</a></div></div>
<div class="ttc" id="aa00074_html_aabc8ece498ced15ab92fb9110c47af8a"><div class="ttname"><a href="a00074.html#aabc8ece498ced15ab92fb9110c47af8a">Logon</a></div><div class="ttdeci">VOID Logon(BOOL fLogon)</div><div class="ttdef"><b>Definition:</b> <a href="a00074_source.html#l00205">csrstubs.c:205</a></div></div>
<div class="ttc" id="aa00362_html_aac588128c1dda198578dbbb5d3e7417c"><div class="ttname"><a href="a00362.html#aac588128c1dda198578dbbb5d3e7417c">NtUserfnOUTSTRING</a></div><div class="ttdeci">LONG NtUserfnOUTSTRING(HWND hwnd, UINT msg, DWORD wParam, LONG lParam, DWORD xParam, DWORD xpfnProc, BOOL bAnsi)</div></div>
<div class="ttc" id="aa02477_html"><div class="ttname"><a href="a02477.html">_CLIENTINFO</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00372">user.h:372</a></div></div>
<div class="ttc" id="aa01873_html_a9a294eec7eefc4d18c25578b8e585472"><div class="ttname"><a href="a01873.html#a9a294eec7eefc4d18c25578b8e585472">_LARGE_IN_STRING::strCapture</a></div><div class="ttdeci">LARGE_UNICODE_STRING strCapture</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l00296">usercli.h:296</a></div></div>
<div class="ttc" id="aa03611_html_a687de76bcca110411f6c34c2122571e6"><div class="ttname"><a href="a03611.html#a687de76bcca110411f6c34c2122571e6">fnHkINLPCBTCREATESTRUCT</a></div><div class="ttdeci">DWORD fnHkINLPCBTCREATESTRUCT(UINT msg, DWORD wParam, LPCBT_CREATEWND pcbt, DWORD xpfnProc, BOOL bAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l02112">client/ntstubs.c:2112</a></div></div>
<div class="ttc" id="aa00362_html_a7811de74bf87a77445dd49d034b7a6e1"><div class="ttname"><a href="a00362.html#a7811de74bf87a77445dd49d034b7a6e1">NtUserDefSetText</a></div><div class="ttdeci">BOOL NtUserDefSetText(IN HWND hwnd, IN PLARGE_STRING Text OPTIONAL)</div></div>
<div class="ttc" id="aa03611_html_ac32085a6e966374b8af33d97172f635b"><div class="ttname"><a href="a03611.html#ac32085a6e966374b8af33d97172f635b">_SetCursorIconData</a></div><div class="ttdeci">BOOL _SetCursorIconData(HCURSOR hCursor, PCURSORDATA pcur, DWORD cbData)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01256">client/ntstubs.c:1256</a></div></div>
<div class="ttc" id="aa01969_html_af905a9989361d094908ad04e08f6429d"><div class="ttname"><a href="a01969.html#af905a9989361d094908ad04e08f6429d">tagSHORTCREATE::cx</a></div><div class="ttdeci">int cx</div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02252">usercli.h:2252</a></div></div>
<div class="ttc" id="aa03611_html_a6070b5fbb565045cdb9251e4276a4f93"><div class="ttname"><a href="a03611.html#a6070b5fbb565045cdb9251e4276a4f93">GetWindowPlacement</a></div><div class="ttdeci">BOOL GetWindowPlacement(HWND hwnd, PWINDOWPLACEMENT pwp)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00354">client/ntstubs.c:354</a></div></div>
<div class="ttc" id="aa02613_html_a2ad4262763a517605f462b75977a5345"><div class="ttname"><a href="a02613.html#a2ad4262763a517605f462b75977a5345">tagCURSORDATA::lpName</a></div><div class="ttdeci">LPWSTR lpName</div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01632">user.h:1632</a></div></div>
<div class="ttc" id="aa00020_html_ad760da1dd81d9e84dee607d18edfde39"><div class="ttname"><a href="a00020.html#ad760da1dd81d9e84dee607d18edfde39">gpsi</a></div><div class="ttdeci">PSERVERINFO gpsi</div><div class="ttdef"><b>Definition:</b> <a href="a00020_source.html#l00039">clglobal.c:39</a></div></div>
<div class="ttc" id="aa03611_html_a2a45151bf23fa8ad0e2348b5f5b1ea79"><div class="ttname"><a href="a03611.html#a2a45151bf23fa8ad0e2348b5f5b1ea79">Event</a></div><div class="ttdeci">DWORD Event(PEVENT_PACKET pep)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00101">client/ntstubs.c:101</a></div></div>
<div class="ttc" id="aa00362_html_ada390199b48711bb5f43c21bd1de781c"><div class="ttname"><a href="a00362.html#ada390199b48711bb5f43c21bd1de781c">NtUserfnINCNTOUTSTRINGNULL</a></div><div class="ttdeci">LONG NtUserfnINCNTOUTSTRINGNULL(HWND hwnd, UINT msg, DWORD wParam, LONG lParam, DWORD xParam, DWORD xpfnProc, BOOL bAnsi)</div></div>
<div class="ttc" id="aa00362_html_af3865da604777de45364ffe5651aa797"><div class="ttname"><a href="a00362.html#af3865da604777de45364ffe5651aa797">NtUserGetWindowPlacement</a></div><div class="ttdeci">BOOL NtUserGetWindowPlacement(IN HWND hwnd, OUT PWINDOWPLACEMENT pwp)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l02960">kernel/ntstubs.c:2960</a></div></div>
<div class="ttc" id="aa03611_html_a4863b63fd6fd71b217137b74131c8e20"><div class="ttname"><a href="a03611.html#a4863b63fd6fd71b217137b74131c8e20">_GetListboxString</a></div><div class="ttdeci">DWORD _GetListboxString(HWND hwnd, UINT msg, DWORD wParam, DWORD cch, LPTSTR pString, DWORD xParam, DWORD xpfn, BOOL bAnsi)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l01317">client/ntstubs.c:1317</a></div></div>
<div class="ttc" id="aa01869_html"><div class="ttname"><a href="a01869.html">_IN_STRING</a></div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l00289">usercli.h:289</a></div></div>
<div class="ttc" id="aa03611_html_a8391278e2e3d2d35d7651ece95415a14"><div class="ttname"><a href="a03611.html#a8391278e2e3d2d35d7651ece95415a14">WOWFindWindow</a></div><div class="ttdeci">HWND WOWFindWindow(LPCSTR pClassName, LPCSTR pWindowName)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00036">client/ntstubs.c:36</a></div></div>
<div class="ttc" id="aa01969_html"><div class="ttname"><a href="a01969.html">tagSHORTCREATE</a></div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l02250">usercli.h:2250</a></div></div>
<div class="ttc" id="aa00362_html_acd05faebf32fa61540d9fbfc56aadb26"><div class="ttname"><a href="a00362.html#acd05faebf32fa61540d9fbfc56aadb26">NtUserGetControlBrush</a></div><div class="ttdeci">HBRUSH NtUserGetControlBrush(IN HWND hwnd, IN HDC hdc, IN UINT msg)</div><div class="ttdef"><b>Definition:</b> <a href="a03614_source.html#l03752">kernel/ntstubs.c:3752</a></div></div>
<div class="ttc" id="aa00086_html_af4a5ecbacfdd6845c5c37342f333ace4"><div class="ttname"><a href="a00086.html#af4a5ecbacfdd6845c5c37342f333ace4">CheckDDECritOut</a></div><div class="ttdeci">#define CheckDDECritOut</div><div class="ttdef"><b>Definition:</b> <a href="a00086_source.html#l00051">ddemlcli.h:51</a></div></div>
<div class="ttc" id="aa03611_html_af21419db1bb21003eed93ee591c44c5d"><div class="ttname"><a href="a03611.html#af21419db1bb21003eed93ee591c44c5d">uPMCachedCP</a></div><div class="ttdeci">static UINT uPMCachedCP</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00678">client/ntstubs.c:678</a></div></div>
<div class="ttc" id="aa02569_html"><div class="ttname"><a href="a02569.html">tagCLS</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01323">user.h:1323</a></div></div>
<div class="ttc" id="aa02457_html"><div class="ttname"><a href="a02457.html">_LARGE_UNICODE_STRING</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l00280">user.h:280</a></div></div>
<div class="ttc" id="aa00047_html_a0f13243c489e64c4cfd10a007f2a53e7"><div class="ttname"><a href="a00047.html#a0f13243c489e64c4cfd10a007f2a53e7">LoadIcoCur</a></div><div class="ttdeci">HICON LoadIcoCur(HINSTANCE hmod, LPCWSTR pszResName, LPWSTR type, DWORD cxDesired, DWORD cyDesired, UINT LR_flags)</div><div class="ttdef"><b>Definition:</b> <a href="a00047_source.html#l02492">clres.c:2492</a></div></div>
<div class="ttc" id="aa03611_html_a02faeb6792094207ff4900c5b480dab2"><div class="ttname"><a href="a03611.html#a02faeb6792094207ff4900c5b480dab2">GetKeyState</a></div><div class="ttdeci">SHORT GetKeyState(int vKey)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00589">client/ntstubs.c:589</a></div></div>
<div class="ttc" id="aa02557_html"><div class="ttname"><a href="a02557.html">_CALLPROCDATA</a></div><div class="ttdef"><b>Definition:</b> <a href="a00365_source.html#l01247">user.h:1247</a></div></div>
<div class="ttc" id="aa03611_html_a71e11894f6d1fa8105e856ece6ed0da5"><div class="ttname"><a href="a03611.html#a71e11894f6d1fa8105e856ece6ed0da5">UpdatePerUserSystemParameters</a></div><div class="ttdeci">BOOL UpdatePerUserSystemParameters(BOOL bUserLoggedOn)</div><div class="ttdef"><b>Definition:</b> <a href="a03611_source.html#l00065">client/ntstubs.c:65</a></div></div>
<div class="ttc" id="aa01873_html"><div class="ttname"><a href="a01873.html">_LARGE_IN_STRING</a></div><div class="ttdef"><b>Definition:</b> <a href="a00257_source.html#l00295">usercli.h:295</a></div></div>
<div class="ttc" id="aa00236_html_ad0e36443189989971c0753037677e13f"><div class="ttname"><a href="a00236.html#ad0e36443189989971c0753037677e13f">RtlCaptureLargeAnsiString</a></div><div class="ttdeci">BOOL RtlCaptureLargeAnsiString(PLARGE_IN_STRING plstr, LPCSTR psz, UINT cchLimit, BOOL fForceAlloc)</div><div class="ttdef"><b>Definition:</b> <a href="a00236_source.html#l00095">rtlinit.c:95</a></div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_885cc87fac2d91e269af0a5a959fa5f6.html">E:</a></li><li class="navelem"><a class="el" href="dir_4e091ed8704426a7a4980368ba259fde.html">git</a></li><li class="navelem"><a class="el" href="dir_cd70cb5eb491250157f2d55d3ff4b13e.html">backup</a></li><li class="navelem"><a class="el" href="dir_ba2b673b566ba104b956abdc6dec0552.html">org</a></li><li class="navelem"><a class="el" href="dir_5bb0003d7907b45051943541418399f5.html">ntuser</a></li><li class="navelem"><a class="el" href="dir_caf01b281dbc7d7ffe410ecf117b6142.html">client</a></li><li class="navelem"><a class="el" href="a03611.html">ntstubs.c</a></li>
    <li class="footer">制作者
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
